首页 > 其他分享 >神经网络模型

神经网络模型

时间:2023-06-05 23:56:35浏览次数:65  
标签:输出 模型 前馈 感知机 神经网络 array 神经元

神经网络介绍

T. Kohonen于1988年在Neural Networks创刊号上给出了神经网络的定义:神经网络是由具有适应性的简单单元组成的广泛并互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。

神经网络中最基本的成分是神经元(neuron)模型(即上述定义中的“简单单元”),包括感知机、Sigmoid函数等。把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。

感知机相比,神经网络1)输入层和输出层之间包含了隐含层(hidden layer),隐含层和输出层神经元都是拥有激活函数的函数的功能神经元;2)激活函数不局限于$sign(x)$函数;3)输出层的神经元可以有多个;4)可用于解决非线性可分问题。

神经网络结构

每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这样的神经网络结构称为“前馈神经网络”( feedforward neural network) 。也就是说,在前馈神经网络中,将上一层的输出用作下一层的输入,信息总是向前流动。有时被称为多层感知机( multilayer perceptron, MLP),尽管它是由 Sigmoid神经元而不是感知机组成的。当然,还有其他人工神经网络模型,如递归神经网络模型,但前馈神经网络是应用最广泛的。

前馈神经网络算法推导

如图所示为含有3个输入单元、3个隐含单元和一个输出单元的前馈神经网络:

 

最左边Layer L1表示输入层,最右边Layer L3表示输出层,中间Layer L2表示隐藏层。其中,圆圈中的"+1"表示偏差项,也就是截距项。$n_l$表示神经网络的层数,此处为3;第$l$记为$L_l$层,输出层则可记为$L_{nl}$。$w^{(l)}_{ij}$表示第$l$层第$j$个神经元到第$l+1$层的第$i$个神经元的权重参数。$b^{(l)}_i$表示第$l+1$层第$i$个神经元的偏差项。$a^{(l)}_i$表示第$l$层的第$i$个神经元的输出。

代数法求解

当$l=1$时,$a^{(1)}_i=x_i$;

$a^{(2)}_1=f(w^{(1)}_{11}x_1+w^{(1)}_{12}x_2+w^{(1)}_{13}x_3+b^{(1)}_1)$

$a^{(2)}_3=f(w^{(1)}_{31}x_1+w^{(1)}_{32}x_2+w^{(1)}_{33}x_3+b^{(1)}_3)$

$a^{(3)}_1=f(w^{(2)}_{11}a^{(2)}_1+w^{(2)}_{12}a^{(2)}_2+w^{(2)}_{13}a^{(1)}_3+b^{(2)}_1)$

令$a^{(l)}_i=f(z^{(l)}_i)$,则$z^{(l)}_i=\sum\limits_{j=1}^n w^{(l-1)}_{ij}a^{(l-1)}_j+b^{(l-1)}_i$    2-1 其中,$n$表示第$l-1$层的神经元个数

矩阵法求解

假设第$l$层有$m$个神经元,第$l-1$层有$n$个神经元,则代数式$z^{(l)}_i=\sum\limits_{j=1}^n w^{(l-1)}_{ij}a^{(l-1)}_j+b^{(l-1)}_i$中的$w^{(l-1)}_{ij}$、$z^{(l)}_i$和$b^{(l-1)}_i$用矩阵形式分别可表示为:

$W^{(l-1)}=\left[ \begin{array}{cc}w^{(l-1)}_{11}&w_{12}^{(l-1)}&w_{13}^{(l-1)}&...&w_{1n}^{(l-1)}\\w_{21}^{(l-1)}&w_{22}^{(l-1)}&w_{23}^{(l-1)}&...&w_{2n}^{(l-1)}\\.&.&.&...&.\\w_{m1}^{(l-1)}&w_{m2}^{(l-1)}&x_{m3}^{(l-1)}&...&x_{mn}^{(l-1)} \end{array} \right]_{m \times n}$ ,$a^{(l-1)}=\left[ \begin{array}{cc}a^{(l-1)}_1\\a^{(l-1)}_2\\...\\a^{(l-1)}_n \end{array} \right]_{n \times 1}$,$b^{(l-1)}=\left[ \begin{array}{cc}b^{(l-1)}_1\\b^{(l-1)}_2\\...\\b^{(l-1)}_m \end{array} \right]_{m \times 1}$, $z^{(l)}=\left[ \begin{array}{cc}z^{(l)}_1\\z^{(l)}_2\\...\\z^{(l)}_m \end{array} \right]_{m \times 1}$ ,故

$矩阵形式为:z^{(l)}=W^{(l-1)}a^{(l-1)}+b^{(l-1)}$     2-2

$a^{(l)}=f(z^{(l)})=f(W^{(l-1)}a^{(l-1)}+b^{(l-1)})$

参考资料

1. 刘建平Pinard老师的博客https://www.cnblogs.com/pinard/p/6418668.html

2. Multi-Layer Neural Network

3. 周志华《机器学习》

4. By Michael Nielsen http://neuralnetworksanddeeplearning.com/chap1.html

标签:输出,模型,前馈,感知机,神经网络,array,神经元
From: https://www.cnblogs.com/chaimy/p/17448012.html

相关文章

  • 编码器 | 基于 Transformers 的编码器-解码器模型
    基于transformer的编码器-解码器模型是表征学习和模型架构这两个领域多年研究成果的结晶。本文简要介绍了神经编码器-解码器模型的历史,更多背景知识,建议读者阅读由SebastionRuder撰写的这篇精彩博文。此外,建议读者对自注意力(self-attention)架构有一个基本了解,可以......
  • R语言ARMA-GARCH模型金融产品价格实证分析黄金价格时间序列
    全文链接:http://tecdat.cn/?p=32677原文出处:拓端数据部落公众号研究黄金价格的动态演变过程至关重要。文中以黄金交易市场下午定盘价格为基础,帮助客户利用时间序列的相关理论,建立了黄金价格的ARMA-GARCH模型,并对数据进行了实证分析,其结果非常接近。利用该模型可动态刻画黄金......
  • 听说最近AI应用爆了?!来AI Studio玩转大模型应用
    飞桨AIStudio是基于百度深度学习平台飞桨(PaddlePaddle)的人工智能学习与实训社区,支持一站式模型在线开发与应用。提供优质开源模型、丰富的开源内容、功能强大的在线编程环境、云端超强GPU算力及存储资源,帮助开发者们快速创建和部署模型,实现一键运行即开即用。目前AIStudio......
  • 百度倾力出品|《神经网络机器翻译技术及产业应用》正式上线
    随着经济社会的国际交流合作日益密切,人们迫切需要高质量、高效率的跨语言信息获取和传播工具。《神经网络机器翻译技术及产业应用》以产业需求为牵引,分析了新时期机器翻译的产业需求特点和挑战,介绍了神经网络翻译的基本理论、前沿技术以及面向产业应用的实用系统开发方法。《神经网......
  • Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力
    近期,RISC-VSIG完成了ArmNN在openEulerEmbedded系统的适配,于2023年1月合入系统构建工程代码库,经测试验证可用,实现了神经网络加速库在openEulerEmbedded嵌入式系统上的加速和优化。系统构建工程下载地址:https://gitee.com/openeuler/yocto-meta-openeuler支持ArmN......
  • asp.net core的输入模型验证
    数据验证特性RequiredAttribute:表示数据不能为空RegularExpressionAttribute:正则校验CompareAttribute:和某个属性比较RangeAttribute:表示在某个区间之内MaxAttribute:最大值MinAttribute:最小值StringLengthAttribute:验证字符串长度DataTypeAttribute:验证数据类型在Models页面下面新......
  • 从0到1:如何建立一个大规模多语言代码生成预训练模型
    国产AI辅助编程工具CodeGeeX是一个使用AI大模型为基座的辅助编程工具,帮助开发人员更快的编写代码。可以自动完成整个函数的编写,只需要根据注释或Tab按键即可。它已经在Java、JavaScript和Python等二十多种语言上进行了训练,并基于大量公开的开源代码、官方文档和公共论坛上的代码来......
  • 大模型核心技术原理: Transformer架构详解
    在大模型发展历程中,有两个比较重要点:第一,Transformer架构。它是模型的底座,但Transformer不等于大模型,但大模型的架构可以基于Transformer;第二,GPT。严格意义上讲,GPT可能不算是一个模型,更像是一种预训练范式,它本身模型架构是基于Transformer,但GPT引入了“预测下一个词”的任......
  • java 内存模型
    java内存模型(memorymodel)定义了java虚拟机如何与计算机内存交互。JVM将内存主要分为栈(stack)内存和堆(heap)内存。每当我们声明新的变量和对象、调用新的方法、声明String或执行类似的操作时,JVM都会从堆栈内存或堆空间为这些操作指定内存。每个线程有自己的栈内存,是线程独有的。堆......
  • OSI7层模型和TCP/IP模型
    前言在计算机网络领域中,OSI7层模型和TCP/IP模型是两个重要的概念。本文将对这两个模型进行介绍和比较,让大家了解它们的区别和联系。目录前言OSI7层模型TCP/IP模型OSI7层模型与TCP/IP模型的区别总结OSI7层模型OSI(OpenSystemInterconnection)层模型是国际标准化组织(ISO)制定......