如何建立多层感知器:简单基础的多层感知机
如何建立多层感知器:简单基础的多层感知机隐藏层越多,表达能力越强,带有激活函数隐藏层的MLP,可以近似任何函数。激活函数是个非线性组件,提高模型的表达能力。Mitchell 《Machine Learning》Distributed Representations of Words and Phrases and their CompositionalityPaddlePaddle API 文档
MLP(multilayer perceptrons)/ANN(Aritical)/FNN(Forward)/DNN/DFN,指的都是多层感知机,以区别于CNN、RNN。
感知机线性、加权、判别,组成的最直接、最简单、最基础的感知机,类比生物神经元,深度学习的基石。
Mitchell 《Machine Learning》
Sigmoid Unit,简单改了下判别函数为激活函数,提高了感知机的非线性表达能力,同时为信息持续传播,提供了可能。
Mitchell 《Machine Learning》
输入- 输入是连续数值,如果本身是连续数值,一般经过归一化等处理
- 如果是离散值,一般经过one-hot等编码
- 一般都会在输入引入embedding层,丰富输入的特征表达
Distributed Representations of Words and Phrases and their Compositionality
PaddlePaddle API 文档
激活函数激活函数是个非线性组件,提高模型的表达能力。
隐藏层隐藏层越多,表达能力越强,带有激活函数隐藏层的MLP,可以近似任何函数。
以下数据摘自是Ian Goodfellow、Yoshua Bengio、Aaron Courville的《Deep Learning》。
整体来看,深度是网络表达能力的主要因素。
网络表达能力与深度成指数关系
网络越深,准确率越高
整体来看网络复杂需要建立在深度基础之上
具体网络深度及每层单元数,大趋势看起来少-多-少的结构较多:
http://uc-r.github.io/feedforward_DNN
输出- 回归任务,连续输出,最后一层线性求和之后,可以直接输出
- 分类任务,离散输出,最后一层需要增加softmax层
PaddlePaddle API 文档
前向计算Ian Goodfellow、Yoshua Bengio、Aaron Courville 《Deep Learning》
反向传播Ian Goodfellow、Yoshua Bengio、Aaron Courville 《Deep Learning》
代码示例PaddlePaddle 官方文档
应用场景推荐系统DeepFM的DNN部分
强化学习框架IMPALA示例的全连接FC部分
NLP阅读理解BiDAF模型的Output Layer