反向传播(Back Propagation)
什么是BP算法
error BackPropagation算法指的是误差反向传播算法。它是由一个输入层、一个输出层和一个或多个隐层构成,它的激活函数采用sigmoid函数,采用BP算法训练的多层前馈神经网络。
BP算法的基本思想
BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。其算法基本思想为:在前馈网络中,输入信号经输入层输入,通过隐层计算后由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。
softmax激励函数
原文链接:Softmax 函数的特点和作用是什么? - 忆臻的回答 - 知乎
softmax函数
softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。
假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是:
\[S_i= \frac{ {e}^{V_i}}{\sum_{j}^{}{ {e}^{V_j}}}\]
更加形象的图如下:
epoch、iteration、batch_size的区别
epoch
一次epoch是指将所有数据训练一遍的次数,epoch所代表的数字是指所有数据被训练的总轮数。
iteration
进行训练需要的总共的迭代次数。
batch size
进行一次iteration(迭代)所训练数据的数量。
DNN和RNN的区别与联系
参考以下资料整理而成:
http://www.zmonster.me/2018/11/10/sequence_to_sequence_learning.html
结论
模型对句子的主动与被动语态并不敏感,但是对输入词的顺序很敏感。
倒序输入句子能提升模型效果
DNN(Deep Neural Network, 传统的深度神经网络)
Weakness
不能处理的输入和输出都是变长序列的问题,这种模型都能很好地进行处理
RNN(Recurrent Neural Network, 循环神经网络)
Introduction
深度学习优化算法概览
深度学习优化算法经历了 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam 这样的发展历程。
知乎上的文章写得挺好的了,所以不整理笔记了,直接贴上对应的链接。
1. 从 SGD 到 Adam —— 深度学习优化算法概览(一) - 骆梁宸的文章 - 知乎
2. 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam - Juliuszh的文章 - 知乎
3. Adam那么棒,为什么还对SGD念念不忘 (2)—— Adam的两宗罪 - Juliuszh的文章 - 知乎
python3.6下各版本pytorch安装命令
# 修改源为清华大学软件镜像站
# 编辑配置文件
vim ~/.condarc
# 更改为以下内容
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna...
为Jupyter Notebook配置多个python版本
在实用Anaconda过程中,默认为安装python2或者python3,而使用jupyter notebook时,默认只有一个python版本,为了能够方便随时切换python版本,可以为jupyter notebook安装多个python内核。
1. 只存在python2虚拟环境:
conda create -n ipykernel_py3 python=3.6 ipykernel
source activate ipykernel_py3 # mac
activate ipykernel_py3 # windows
python -m ipykernel install --user
2. 只存在python3虚拟环境
conda create -n ipykernel...
交叉熵(cross entropy)
1. 定义
基于概率分布$p$和$q$的交叉熵定义为:
\[H(p,q) = E_{p}[-log\ q] = H(p) + D_{KL}(p||q)\]
其中 $H(p)$是$p$的熵, $D_{KL}(p
q)$是从 $p$到$q$的KL散度(也被称为p相对于q的相对熵)。
对于离散分布$p$和$q$,这意味着:
\[H(p,q) = \sum_{x}{p(x)\ log\ q(x)}\]
$p$ 是信息的实际分布,而$q$则为错误分布。
配置Jupyter Notebook远程访问(Linux、Windows、mac OSX通用)
执行以下命令:
jupyter notebook --generate-config
此时会在当前用户目录的.jupyter目录下会生成一个jupyter_notebook_config.py的配置文件
共计 85 篇文章,9 页。