神经网络剖析
 
训练神经网络主要围绕以下四个方面:
  • 层,多个层组合成网络(或模型)
  • 输入数据和相应的目标
  • 损失函数,即用于学习的反馈信号
  • 优化器,决定学习过程如何进行
 
如图 3-1 所示:多个层链接在一起组成了网络,将输入数
据映射为预测值。然后损失函数将这些预测值与目标进行比较,得到损失值,用于衡量网络预
测值与预期结果的匹配程度。优化器使用这个损失值来更新网络的权重。
 
 
层:深度学习的基础组件
层是一个数据处理模块,将一个或多个输入张量转换为一个或多个输出张量。
有些层是无状态的,但大多数的层是有状态的,即层的权重。
权重是利用随机梯度下降学到的一个或多个张量,其中包含网络的知识。
 
不同的张量格式与不同的数据处理类型需要用到不同的层。
  1. 简单的向量数据保存在形状为 (samples, features) 的 2D 张量中,通常用密集连接层[ 也
叫全连接层或密集层,对应于 Keras 的 Dense 类]来处理。
  1. 序列数据保存在形状为 (samples, timesteps, features) 的 3D 张量中,通常用循环
层( recurrent layer,比如 Keras 的 LSTM 层)来处理。
  1. 图像数据保存在 4D 张量中,通常用二维卷积层( Keras 的 Conv2D)来处理。
 
模型:层构成的网络
深度学习模型是层构成的有向无环图。
常见的网络拓扑结构:
1.线性堆叠
2.双分支( two-branch)网络
3.多头( multihead)网络
4.Inception 模块
 
损失函数( 目标函数)
在训练过程中需要将其最小化。它能够衡量当前任务是否已成功完成。
 
优化器
决定如何基于损失函数对网络进行更新。它执行的是随机梯度下降( SGD)
的某个变体。
 
如何选择损失函数
  • 对于二分类问题,你可以使用二元交叉熵( binary crossentropy)损失函数;
  • 对于多分类问题,可以用分类交叉熵( categorical crossentropy)损失函数;
  • 对于回归问题,可以用均方误差( mean-squared error)损失函数;
  • 对于序列学习问题,可以用联结主义时序分类( CTC, connectionist temporal classification)损失函数,
 
 
 
 

Python深度学习读书笔记-4.神经网络入门的更多相关文章

  1. Python深度学习读书笔记-3.神经网络的数据表示

    标量(0D 张量) 仅包含一个数字的张量叫作标量(scalar,也叫标量张量.零维张量.0D 张量).在Numpy 中,一个float32 或float64 的数字就是一个标量张量(或标量数组).你可 ...

  2. Python深度学习读书笔记-1.什么是深度学习

    人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?

  3. Python深度学习读书笔记-5.Keras 简介

    Keras 重要特性 相同的代码可以在 CPU 或 GPU 上无缝切换运行. 具有用户友好的 API,便于快速开发深度学习模型的原型. 内置支持卷积网络(用于计算机视觉).循环网络(用于序列处理)以及 ...

  4. Python深度学习读书笔记-2.初识神经网络

    MNIST 数据集 包含60 000 张训练图像和10 000 张测试图像,由美国国家标准与技术研究院(National Institute of Standards and Technology,即 ...

  5. Python深度学习读书笔记-6.二分类问题

    电影评论分类:二分类问题   加载 IMDB 数据集 from keras.datasets import imdb (train_data, train_labels), (test_data, t ...

  6. 深度学习读书笔记之RBM(限制波尔兹曼机)

    深度学习读书笔记之RBM 声明: 1)看到其他博客如@zouxy09都有个声明,老衲也抄袭一下这个东西 2)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的 ...

  7. [1天搞懂深度学习] 读书笔记 lecture I:Introduction of deep learning

    - 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果. - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等, ...

  8. 深度学习课程笔记(一)CNN 卷积神经网络

    深度学习课程笔记(一)CNN 解析篇 相关资料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html 首先提到 Why CNN for I ...

  9. 关于python深度学习网站

      大数据文摘作品,转载要求见文末 编译团队|姚佳灵 裴迅 简介 ▼ 深度学习,是人工智能领域的一个突出的话题,被众人关注已经有相当长的一段时间了.它备受关注是因为在计算机视觉(Computer Vi ...

随机推荐

  1. 16.AutoMapper 之可查询扩展(Queryable Extensions)

    https://www.jianshu.com/p/4b23e94a7825 可查询扩展(Queryable Extensions) 当在像NHibernate或者Entity Framework之类 ...

  2. java 导出自定义样式excel

    由于项目需要 要求导出一个这样的表格 然而 正常导出的表格都是这样婶儿地 这种格式网上demo有很多就不详细说了 ,主要说说上面三行是怎么画的. 第一行大标题,是9行合并成的一行,而且字体大小需要单独 ...

  3. 手把手教你上传文件到GitHub上(已获取ssh密钥)

    如何提交一个文件到GitHub(已经生成ssh key) 1.新建一个文件夹,当作本地仓库 2.初始化仓库 $git init 3.将想要上传的东西复制到仓库中 4.将文件提交到暂存区 $git ad ...

  4. Tomcat 使用jms 采集需要配置

    Tomcat 使用JMS采集配置需要加入以后配置参数,本示例是在 eclipse 下启动tomcat中的配置. 在tomcat Arguments选择卡的VM arguments中加入: -Dcom. ...

  5. 关于strcpy的安全函数的选择

    1)如果整个程序,在进行字符拷贝时,这个拷贝字符串的完整性,不影响整个程 序的运行,可以让其截取一部分字符串,程序继续执行.那么我们就可以选择安全 函数:strncpy_s 2)如果在进行字符串拷贝时 ...

  6. angular集成tinymce

    1.前言 我使用的是angular的7.x版本,和之前的低版本集成方式有所区别.这里记录下基本的集成步骤. 2.集成步骤 2.1安装tinymac包 npm install tinymce --sav ...

  7. 用python实现js语言里的特性

    有大佬说:“搜 arraybuffer 的 polyfill 然后翻译成 python就行了” ...

  8. 2019牛客暑期多校训练营(第一场) B Integration (数学)

    链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...

  9. 【writeup】is_numeric函数矛盾运用

    最近在BugkuCTF平台刷题,遇到‘矛盾’http://120.24.86.145:8002/get/index1.php,感觉蛮有意思的,记录下思路 目标代码如下: $num=$_GET['num ...

  10. Codeforces 903 绝对值1e19longdouble算贡献 汉明距离交换两项是否可行

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...