【深度学习】深度学习的四大组件
这四大组件就是:
- 层
- 输入数据和标签
- 损失函数
- 优化器
这四者的关系描述如下:
多层组合在一起形成了网络,网络的目的是将输入数据映射为预测值,通过损失函数将预测值和目标值比较,得出损失值,用来衡量网络的性能,而优化器的职责是迭代优化损失值来更新网络权重(BP算法)。
层:构建网络的乐高积木
深度学习模型的最常见用法是层的线性堆叠,将单一输入映射为单一输出,即数据从一端进,然后从另一端出。
但是这不是唯一,还有其他的网络拓扑类型,比如:
- 双分支网络
- 多头网络
- Inception模块
在机器学习的定义中我们已经学过,机器学习是在一个预先定义好的假设空间中,利用反馈信号来寻找对输入数据的有用的表征。网络的拓扑结构定义了一个假设空间。
这个假设空间就被限定为一系列特定的张量计算,我们为了做好深度学习模型,就需要为这些张量计算的权重找到一组合适的值。
选择正确的网络架构更像是一门艺术而不是科学。虽然有一些最佳的实践和原则,但只有动手实践才能成为合格的神经网络架构师。
损失函数与优化器
在确定了网络架构以后,还需要选择两个参数:
- 损失函数:也叫目标函数,训练的目标就是最小化这个函数,同时损失函数也是当前训练任务是否完成的衡量标准
- 优化器:决定的是如何基于损失函数对网络进行更新,一般用随机梯度下降SGD或者某个变体
有多个输出的神经网络可能具有多个损失函数,即每个输出对应一个损失函数,但是梯度下降必须基于单个标量损失值。所以,针对具有多个损失函数的网络,我们需要将所有损失函数取平均,使其成为单个标量值。
**选择正确的目标函数对解决问题极其重要。**如果目标函数与完成当前任务不是完全相关,则网络得出的结果很可能不符合预期。
那选择损失函数有哪些经验指导呢?
对于分类、回归、序列预测等问题,都有很好的指导原则来帮助我们选择正确的损失函数。比如:
- 二分类问题:可以用二元交叉熵(binary crossentropy)损失函数
- 多分类问题:可以用分类交叉熵(categorical crossentropy)损失函数
- 回归问题:可以用均方误差(mean-squared error)
- 序列学习问题:可以用联结主义时序分类(CTC, connectionist temporall classification)损失函数
所以对于绝大部分问题,都已经有了损失函数的选择原则,除非是真的全新的问题,才需要自主开发目标函数。
换句话说,如果你开发的目标函数比现有的经验好,绝对是一篇重量级的论文。
END.
参考:
《Deep Learning with Python》
【深度学习】深度学习的四大组件相关推荐
- 【Monica的android学习之路】四大组件的生命周期
[Monica的android学习之路]四大组件的生命周期 1. Service 1.1 启动service 1.1.1 startService 1.1.2 bindService 1.2 死亡回调 ...
- Android 四大组件 —— 服务
一.服务是什么 服务(Service)是Android 中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使当程序被切换 ...
- 深度学习 免费课程_深入学习深度学习,提供15项免费在线课程
深度学习 免费课程 by David Venturi 大卫·文图里(David Venturi) 深入学习深度学习,提供15项免费在线课程 (Dive into Deep Learning with ...
- 深度丨深度强化学习研究的短期悲观与长期乐观(长文)
文章来源:机器之心 深度强化学习是最接近于通用人工智能(AGI)的范式之一.不幸的是,迄今为止这种方法还不能真正地奏效.在本文中,作者将为我们解释深度强化学习没有成功的原因,介绍成功的典型案例,并指出 ...
- 2.10 是否要使用端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.9 什么是端到端的深度学习 回到目录 2.11 总结 是否要使用端到端的深度学习 (Whether to use end-to-end deep learning?) 假 ...
- 【杂谈】如何在言有三本人的随时答疑下, 长期而系统地学习深度学习和计算机视觉,这是有三AI的完整计划...
对深度学习从业者要说的话 深度学习的前身是神经网络,属于机器学习技术中的一种,诞生于半个多世纪以前,随着计算硬件水平的提升,工业大数据的积累以及相关理论的完善,如今得以在各行各业大展拳脚.从应用领域来 ...
- 【杂谈】2020年如何长期、系统,全面地学习深度学习和计算机视觉,这是有三AI的完整计划...
对深度学习从业者要说的话 深度学习的前身是神经网络,属于机器学习技术中的一种,诞生于半个多世纪以前,随着计算硬件水平的提升,工业大数据的积累以及相关理论的完善,如今得以在各行各业大展拳脚.从应用领域来 ...
- 最新!李飞飞提出深度进化强化学习新框架
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:新智元 AI博士笔记系列推荐 周志华<机器学习> ...
- Deep Multimodal Representation Learning(深度多模态表示学习)
多模态表示学习旨在缩小不同模态之间的异质性差距,在利用普遍存在的多模态数据中发挥着不可或缺的作用.基于深度学习的多模态表示学习由于具有强大的多层次抽象表示能力,近年来引起了人们的广泛关注. 多模态融合 ...
最新文章
- php soecket服务器搭建_Linux系统编程(32)—— socket编程之TCP服务器与客户端
- 死磕Java并发:J.U.C之阻塞队列:LinkedBlockingDeque
- html5点击显示展开列表,HTML5 - 如何折叠和展开复杂的表格元素
- 面试问烂的 Spring MVC 过程
- JAVA——Scanner读取文件
- 完课率最高 | 带学吴恩达《机器学习》课程和作业,带打Kaggle全球顶级大赛!...
- 科​目​三​路​考​操​作​步​骤
- 数据库MySQL/mariadb知识点——日志记录(2)二进制日志
- 一个jeecg整合activiti的学习例子,源码下载
- 微软云计算介绍与实践(实践之一)
- 干货 | 高效阅读英文文献你必须知道的技巧
- idea64.exe.vmoptions 参数意义
- 【多任务学习-Multitask Learning概述】
- 微信表情包的制作以及50*50像素图片太模糊的处理方法
- 002 免格式化U盘部署PE(BIOS)
- 自建DHCP TFTP服务 用PXE启动实现无人值守安装Centos6
- 什么是Kurento
- windows服务启动 1053错误
- FTP协议的原理及配置
- 请求第三方阿里发送验证码
热门文章
- CSS样式(一)- 基本语法
- ssh连接局域网内两台主机
- python下列数据中不属于字符串的是_下列数据中,不属于字符串的是( )。 (6.0分)_学小易找答案...
- 浏览器 刷新页面后回到顶部_当你在浏览器中,忘记了曾经的登录密码怎么办......
- 扩展空间_实用!Win10开启SMB共享的方法,给GPD MicroPc扩展更多存储空间
- linux显示磁盘使用情况命令,Linux查看磁盘使用情况命令(示例代码)
- idea 光标 快捷键_IntelliJ Idea 常用快捷键
- android seekbar 圆角,android - 最小或最大时,圆角android seekbar的ui奇怪行为 - 堆栈内存溢出...
- apt apt 用法_apt命令–实用用法指南
- java的历史_Java的历史