手把手带你入门人工神经网络~

简介: 今天来跟大家分享一些人工神经网络基础的知识~深度学习(DL)在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。使得人工智能相关技术取得了很大进步。要学习深度学习,那么首先要熟悉神经网络(Neural Networks)的一些基本概念,人工神经网络的基本思想是仿生学。

01神经元模型


人工神经网络是受到人类大脑结构的启发而创造出来的。如图


47.png


神经网络算法正是模仿了上面的网络结构。下面是一个人工神经网络的构造图。每一个圆代表着一个神经元,他们连接起来构成了一个网络。


48.png


人类大脑神经元细胞的树突接收来自外部的多个强度不同的刺激,并在神经元细胞体内进行处理,然后将其转化为一个输出结果。人工神经元也有类似的工作原理,如图:


49.png


上图中,x是神经元的输入,相当于树突接收的多个外部刺激。w是每个输入对应的权重,它影响着每个输入x的刺激强度;b表示阈值,用来影响预测结果;z是预测结果。


02MP模型


01激活函数


What(是什么):激活函数(Activation functions)在神经元中,输入的数据通过加权求和后,还被作用了一个函数,这个函数就是激活函数。

Why(为什么用):引入激活函数是为了增加神经网络模型的非线性。没有激活函数的每层都相当于矩阵相乘。引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

常见的激活函数:

①Sigmoid函数:

   常被用作神经网络的阈值函数,将变量映射到0,1之间,公式如下:


50.png


它的图像如下:



51.png


②Tanh函数

Tanh()为双曲正切由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下:


52.png


它的图像如图:


53.png


③ReLU函数

   用于隐层神经元输出。公式如下:


54.png


它的图像如下:


55.png


MP模型


56.jpg


参数解释:将外部刺激模拟为;将每个树突对输入的刺激加工过程模拟为以某个权重()对输入进行加权;将细胞核对输入的处理模拟为一个带有偏置的求和过程(),用激活函数()对求和的结果进行非线性变换得出y。

公式表示如下:


57.png


向量形式如下:



58.png

数学理解:设神经元的输出y是输入的函数;


60.png


公式解释:对f(X1,X2,...,Xm)进行泰勒展开,后边依次为二阶三阶偏导,相当于一阶泰勒近似。


03小结


1. 人工神经网络与人脑一样,网络越复杂它就越强大;层数越多,构造的神经网络越复杂。

2. 用来训练的数据越多,就需要层数非常多的网络来实现。

3. 本文仅是自己对于人工神经网络的见解,如有不妥之处请指出~


相关文章
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
3月前
|
网络协议
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)(下)
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
35 2
|
3月前
|
网络协议 Linux 数据处理
网络编程【网络编程基本概念、 网络通信协议、IP地址 、 TCP协议和UDP协议】(一)-全面详解(学习总结---从入门到深化)
网络编程【网络编程基本概念、 网络通信协议、IP地址 、 TCP协议和UDP协议】(一)-全面详解(学习总结---从入门到深化)
79 3
|
1月前
|
安全 网络安全 数据安全/隐私保护
网络拓扑结构入门快速介绍
网络拓扑结构入门快速介绍
|
1月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
1月前
|
人工智能 监控 安全
网络安全知识入门:Web应用防火墙是什么?
网络安全知识入门:Web应用防火墙是什么?
22 1
|
2月前
|
Java
[Java]Socket套接字(网络编程入门)
[Java]Socket套接字(网络编程入门)
37 0
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习入门:Python 与神经网络
深度学习是机器学习的一个分支,它涉及使用多层神经网络来处理和学习数据。在 Python 中,有许多流行的深度学习库和框架可以帮助我们轻松地构建和训练神经网络模型。在本文中,我们将介绍深度学习的基本概念,并使用 Python 中的 TensorFlow 和 Keras 库来构建一个简单的神经网络模型。
|
2月前
|
数据采集 网络协议 搜索推荐
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
52 0
|
3月前
|
存储 网络协议 安全
从零开始学习 Java:简单易懂的入门指南之网络编程(三十七)
从零开始学习 Java:简单易懂的入门指南之网络编程(三十七)

热门文章

最新文章