5 Deep Learning
什么是深度学习?
神经网络:输入层、隐层、输出层
含多个隐层的深度学习模型:输入层、隐层*n、输出层
不忘初心
机器学习的任务:输入、函数作用、输出。
可用于语言识别、图像识别、人机对战、人机交互
单隐层神经网络
只要隐层的节点数目足够,就可以拟合任何复杂的连续函数
为什么要有深度?
参数:Layer*Size,Word Error Rate
Size固定,Layer越多,Word Error Rate越小
Layer固定,Size越多,Word Error Rate越小
深度有利于模块化,用于快速构建和训练深度学习模型的框架
Keras
- Keras 是一个高层神经网络 API, Keras 由纯 Python 编写而成并基于Tensorflow、Theano 以及 CNTK
后端 - Keras 为支持快速实验而生,能够把你的 idea 迅速转换为结果
- 可用于构建多种神经网络 DNN、CNN 等
- 无缝支持 CPU 和 GPU 切换
Keras的使用方法
深度学习很简单,遵循一定的步骤
1.定义一组函数
2.判断函数好坏:梯度下降
3.选择最佳函数
保存和上传模型
Dropout技术
训练时:每次更新参数之前,每个神经元有p%的可能罢工,使得网络结构发生变化,因此使用新的网络结构进行训练
测试时:实际上没有一个罢工,最终获得最佳结果。
梯度消失
校正线性单元