总结一下今天的学习过程
1,又一次理解了CNN的基本原理:卷积层操作、池化层操作
传统的神经网络缺点:权值太多,计算量太大;需要大量的样本进行训练
CNN通过感受野和权值共享(局部映射神经元)减少了神经网络需要训练的参数
卷积核、卷积窗口、特征图、滤波器、采样
池化层的三种操作:max-pooling、mean-pooling、随机池化
same padding
valid padding
2,理解RNN(循环神经网络、递归神经网络)的基本原理,与BP神经网络的区别为有反馈回路,同样也有梯度消失的问题
加入LSTM(long short term memory)防止梯度消失
在自然语言、语音等有很大的前景
简单来说今天就抄了两个代码
卷积神经网络应用于mnist数据集分类
感觉:Dropout 率 0.8左右,训练次数30左右
递归神经网络lstm-RNN-mnist数据集
第二个有点不顺利
#注意:
#不然会报lstm_cell变量已存在
#ValueError: Variable rnn/basic_lstm_cell/kernel already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
tf.reset_default_graph()
#注意:
#tensorflow版本低于12时,加上core_rnn_cell函数
#lstm_cell = tf.contrib.rnn.core_rnn_cell.BasicLSTMCell(lstm_size)
#tensorflow版本为12时,省去core_rnn_cell函数
lstm_cell = tf.contrib.rnn.BasicLSTMCell(lstm_size)
平静的一天 明天加油