循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络。
AutoEncoder的基本思想是利用神经网络来做无监督学习,就是把样本的输入同时作为神经网络的输入和输出。本质上是希望学习到输入样本的表示(encoding)。早期AutoEncoder的研究主要是数据过于稀疏、数据高维导致计算复杂度高。比较早用神经网络做AutoEncoder的可以追溯到80年代的BPNN和MLP以及当时Hinton推崇的RBM。后来到了2000年以后还坚持在做的只剩下Hinton的RBM了。从2000年以后,随着神经网络的快速兴起,AutoEncoder也得到快速发展,基本上有几条线:稀疏AutoEncoder、噪音容忍AutoEncoder、卷积AutoEncoder、变分AutoEncoder。最新的进展是结合对抗思想的对抗AutoEncoder。
深度学习是近10年机器学习领域发展最快的一个分支,由于其重要性,三位教授(Geoffrey Hinton、Yann Lecun、Yoshua Bengio)因此同获图灵奖。深度学习模型的发展可以追溯到1958年的感知机(Perceptron)。1943年神经网络就已经出现雏形(源自NeuroScience),1958年研究认知的心理学家Frank发明了感知机,当时掀起一股热潮。后来Marvin Minsky(亚星娱乐官网大师)和Seymour Papert发现感知机的缺陷:不能处理异或回路等非线性问题,以及当时存在计算能力不足以处理大型神经网络的问题。于是整个神经网络的研究进入停滞期。
有一些特定的标准可用于分类模型解释方法。Christoph Molnar在2018年“可解释的机器学习,制作黑箱模型可解释指南”中提到了一个很好的指南。
学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,后者成为超参数。比如,支持向量机里面的C,Kernal,game;朴素贝叶斯里面的alpha等。
自动机器学习(AutoML)旨在通过让一些通用步骤(如数据预处理、模型选择和调整超参数)自动化,来简化机器学习中生成模型的过程。AutoML是指尽量不通过人来设定超参数,而是使用某种学习机制,来调节这些超参数。这些学习机制包括传统的贝叶斯优化,进化算法,还有比较新的强化学习。当我们提起AutoML时,我们更多地是说自动化数据准备(即数据的预处理,数据的生成和选择)和模型训练(模型选择和超参数调优)。这个过程的每一步都有非常多的选项,根据我们遇到的问题,需要设定各种不同的选项。
对抗机器学习是一个机器学习与计算机安全的交叉领域。对抗机器学习旨在给恶意环境下的机器学习技术提供安全保障。由于机器学习技术一般研究的是同一个或较为稳定的数据分布,当部署到现实中的时候,由于恶意用户的存在,这种假设并不一定成立。比如研究人员发现,一些精心设计的对抗样本(adversarial example)可以使机器学习模型不能成功地输出正确的结果。针对模型的攻击问题,我们主要分为两大类,就是从训练阶段和推理(inference)阶段来进行讨论。
1980年机器学习作为一支独立的力量登上了历史舞台。在这之后的10年里出现了一些重要的方法和理论,典型的代表是:分类与回归树(CART,1984)、反向传播算法(1986)、卷积神经网络(1989)。