zoukankan      html  css  js  c++  java
  • 神经网络模型,应用程序,优化器和示例代码

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

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

    介绍

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

  • 相关阅读:
    高级(线性)素数筛
    Dijkstra(迪杰斯特拉)算法
    简单素数筛
    【解题报告】 POJ1958 奇怪的汉诺塔(Strange Tower of Hanoi)
    4 jQuery Chatting Plugins | jQuery UI Chatbox Plugin Examples Like Facebook, Gmail
    Web User Control Collection data is not storing
    How to turn on IE9 Compatibility View programmatically in Javascript
    从Javascrip 脚本中执行.exe 文件
    HtmlEditorExtender Ajax
    GRIDVIEW模板中查找控件的方式JAVASCRIPT
  • 原文地址:https://www.cnblogs.com/rsmx/p/12928966.html
Copyright © 2011-2022 走看看