前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是神经网络

什么是神经网络

作者头像
杨熹
发布2018-04-02 17:46:10
8710
发布2018-04-02 17:46:10
举报
文章被收录于专栏:杨熹的专栏

本文结构:

  1. 什么是神经网络
  2. 什么是神经元
  3. 神经网络的计算和训练
  4. 代码实现

1. 什么是神经网络

神经网络就是按照一定规则将多个神经元连接起来的网络

例如全连接(full connected, FC)神经网络,它的规则包括:

  • 有三种层:输入层,输出层,隐藏层。
  • 同一层的神经元之间没有连接。
  • full connected的含义:第 N 层的每个神经元和第 N-1 层的所有神经元相连,第 N-1 层神经元的输出就是第 N 层神经元的输入。
  • 每个连接都有一个权值。

不同的神经网络,具有不同的连接规则


2. 什么是神经元

神经元和感知器的区别也是在激活函数:

感知器,它的激活函数是阶跃函数,神经元,激活函数往往选择为 sigmoid 函数或 tanh 函数等

其中 sigmoid 函数的公式和图表示如下:

sigmoid 函数的求导公式:

想了解更多还可以看这篇:常用激活函数比较


3. 神经网络的训练

先向前计算,再向后传播

例如上面神经网络的结构

输入层,首先将输入向量的每个元素的值,赋给输入层的对应神经元

隐藏层,前一层传递过来的输入值,加权求和后,再输入到激活函数中,根据如下公式,向前计算这一层的每个神经元的值

输出层的计算和隐藏层的一样

用矩阵来表示

这个公式适用于每个隐藏层和输出层,就是 W 的值和 f 的形式会不一样,

其中 W 是某一层的权重矩阵,x 是某层的输入向量,a 是某层的输出向量

模型要学习的东西就 W。

诸如神经网络的连接方式、网络的层数、每层的节点数这些参数,不是学习出来的,而是人为事先设置的,称之为超参数。

训练它们的方法和前面感知器中用到的一样,就是要用梯度下降算法:

完整的推导可以看这篇,一步一步很详细:

手写,纯享版反向传播算法公式推导

part 4. 代码实现 下次再写

学习资料:

https://www.zybuluo.com/hanbingtao/note/476663


关于神经网络,写过的文章汇总:

Neural Networks

Are

Cool

理论

神经网络的前世

神经网络 之 感知器的概念和实现

神经网络 之 线性单元

手写,纯享版反向传播算法公式推导

常用激活函数比较

模型

图解何为CNN

用 Tensorflow 建立 CNN

图解RNN

CS224d-Day 5: RNN快速入门

用深度神经网络处理NER命名实体识别问题

用 RNN 训练语言模型生成文本

RNN与机器翻译

用 Recursive Neural Networks 得到分析树

RNN的高级应用

TensorFlow

一文学会用 Tensorflow 搭建神经网络

用 Tensorflow 建立 CNN

对比学习用 Keras 搭建 CNN RNN 等常用神经网络


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是神经网络
  • 2. 什么是神经元
  • 3. 神经网络的训练
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档