神经网络模型,应用程序,优化器和示例代码

时间:2020-05-21
本文章向大家介绍神经网络模型,应用程序,优化器和示例代码,主要包括神经网络模型,应用程序,优化器和示例代码使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

神经网络模型,应用程序,优化器和示例代码

在此之前,请先阅读第一个教程(神经网络入门):神经网络简介

介绍

在这一部分中,我们将讨论神经网络的类型及其应用,最常用的模型,优化方法和简单的示例代码。在接下来的部分中,我们将深入研究特定模型的备忘单,例如CNN和RNN。

类型和主要特点

  • 卷积神经网络(CNN):具有一层或多层卷积层,然后是一层或多层全连接层
  • 递归神经网络(RNN):单元之间的连接具有定向循环
  • 长短期记忆(LSTM):RNN的类型,可以持续很长时间的短期记忆模型
  • 生成对抗网络(GAN):两个神经网络相互竞争的系统
  • 前馈神经网络:节点之间的连接没有循环
  • 多层感知器(MLP):至少具有三层节点
  • 自组织地图(SOM):将输入数据转换为低维空间
  • 深度信仰网络(DBN):各层之间有连接,但各层之间没有连接
  • 尖刺神经网络(SNN):以尖峰的形式处理时间信息,并且神经元之间存在多个突触
  • 小波神经网络:使用小波函数作为神经元中的激活函数
  • 小波卷积神经网络:结合小波变换和CNN

这是一个描绘了我们在两个主题中讨论过的许多类型和模型的体系结构的图。CNN的架构有些复杂,我们将在下一个主题中进行讨论。

任务/应用程序和最常用的网络

任务最常用的型号图片分类有线电视新闻网影像识别有线电视新闻网时间序列预测RNN,LSTM文字产生RNN,LSTM可视化索姆

优化算法

优化器是用于更改神经网络属性(例如权重和学习率)以减少损失的算法或方法。

  • 梯度下降:这是最基本但使用最多的优化算法。
  • 随机梯度下降(SGD):这是梯度下降的一种变体。它尝试更频繁地更新模型的参数。在这种情况下,在每个训练示例上计算损失后,都会更改模型参数。
  • 动量:发明它是为了减少SGD的高方差并软化收敛。此方法有助于在相关方向上加速SGD。
  • Adam(自适应力矩估计):Adam防止我们太快地滚动而跳过最小值,所以我们想稍微降低速度以进行仔细的搜索。
  • AdaGrad:这是一种用于设置学习率的自适应方法。
  • RMSProp:它通过将梯度累积更改为指数加权的移动平均值来修改AdaGrad,即丢弃了遥远过去的历史。

在python中训练和预测ANN的示例代码

    from keras.models import Sequential
    from keras.layers import Dense
    model = Sequential()
    model.add(Dense(units=64, activation='relu', input_dim=100))
    model.add(Dense(units=10, activation='softmax'))
    model.compile(loss='categorical_crossentropy',
                  optimizer='sgd',
                  metrics=['accuracy'])
    model.compile(loss=keras.losses.categorical_crossentropy,
                  optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
    model.fit(x_train, y_train, epochs=5, batch_size=32)
    model.train_on_batch(x_batch, y_batch)
    loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
    classes = model.predict(x_test, batch_size=128)

资料来源

  1. https://medium.com/@sdoshi579/optimizers-for-training-neural-network-59450d71caf6
  2. https://towardsdatascience.com/neural-network-optimization-algorithms-1a44c282f61d
  3. http://news.mit.edu/2017/explained-neural-networks-deep-learning-0414

教程索引

#1:神经网络简介
#2:神经网络模型,应用程序,优化器和示例代码

翻译自Kaggle

原文地址:https://www.cnblogs.com/rsmx/p/12928966.html