卷积和循环神经网络及研究项目应用
1. 卷积网络训练与超参数
在训练卷积网络时,有如下代码用于训练并计算准确率:
for i in range(0, train.shape[0], batch_size):
x_batch = train[i:i + batch_size,:]
y_true_batch = labels_[i:i + batch_size,:]
sess.run(optimizer, feed_dict={x: x_batch, y_true: y_true_batch})
train_accuracy += sess.run(accuracy, feed_dict={x: x_batch,
y_true: y_true_batch})
train_accuracy /= int(len(labels_)/batch_size)
dev_accuracy = sess.run(accuracy, feed_dict={x:dev,
y_true:labels_dev_})
运行这段代码,仅经过一个周期,训练准确率就可达 63.7%,经过十个周期,训练准确率能达到 86%(在开发集上也是如此)。而且,如果训练周期更长,准确率会更高。同时,每次引入卷积层时,都会引入新的超参数,例如:
- 内核大小
- 步长
- 填充
为了获得最佳结果,这些超参数需要进行调整。通常,研究人员倾向于使用现有的针对特定任务的架构,这些架构已经被其他从业者优化过,并在论文中有详细记录。
超级会员免费看
订阅专栏 解锁全文
960

被折叠的 条评论
为什么被折叠?



