神经网络剖析
 
训练神经网络主要围绕以下四个方面:
  • 层,多个层组合成网络(或模型)
  • 输入数据和相应的目标
  • 损失函数,即用于学习的反馈信号
  • 优化器,决定学习过程如何进行
 
如图 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. ArcGis执行StartEditing(true)时,winform程序直接崩溃.

    问题描述:在Program中配置了ArcGis的许可,又在winform窗体添加了许可,导致执行StartEditing(true)时,winform程序直接崩溃. 原代码如下: static cla ...

  2. 097、如何实现Service伸缩?(Swarm04)

    参考https://www.cnblogs.com/CloudMan6/p/7885667.html   上一节部署了只有一个副本的Service,不过对于web服务,我们通常会运行多个实例,这样可以 ...

  3. async 异步抓取 花瓣网高清大图 30s爬取500张

    废话 不多说,直接上代码,不懂得看注释 先安装  pip install aiohttp "异步抓取花瓣网图片" # pip install aiohttp import requ ...

  4. laravel 学习之第一章

    LTS : long time support. download url : http://www.golaravel.com/download/ 第一篇 目录介绍: ​ resource:包含了原 ...

  5. Linux--目录管理与文件管理--02

    ******Linux目录结构与目录管理******* 一.Linux目录结构: 1.目录创建规则:FHS文件系统层次化标准 指定了Linux操作系统的哪些目录是一定要具备的 2.目录的结构 树形结构 ...

  6. Java读取二进制文件的方式

    public static void readFile(String fileName){ File file = new File(fileName); if(file.exists()){ try ...

  7. 007-Zabbix Server 自带模板监控MySQL数据库

    监控数据库分为三种: 1.Zabbix Server 自带模板监控无密码MySQL数据库 2.Zabbix Server 自带模板监控有密码MySQL数据库 3.Zabbix Server 自带模板监 ...

  8. PrimeFaces ab function

    The PrimeFaces.ab function is a shortcut function for PrimeFaces.ajax.AjaxRequest. //ajax shortcut a ...

  9. 对所有的webview添加userAgent

    在appdelegate中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti ...

  10. LVM逻辑卷理论及配置

    LVM的概念 LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理.它是 Linux 系统对磁盘分区的一种管理机制. LVM 是在硬盘分区之上建立一个逻辑层,这个逻 ...