从一个产品经理角度了解技术
目的是在日常挖掘需求、业务沟通中,知道技术可以实现什么,不能实现什么,同时更好的设计产品迭代版本,安排需求优先级。
一 深度学习简介
机器学习定义:如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习
传统机器学习算法,以逻辑回归为例,需要人工指定特征,但深度学习解决的核心问题就是,自动组合基本特征,形成更加复杂的特征,并使用这些特征解决问题。
深度学习在图像/语音领域的突破,都是因为它可以更高效的提取特征。
二. tensorflow环境搭建
tensorflow,作为深度学习软件工具,提供了一个平台,用户只需要通过指定语句,调用常用的神经网络模型,画出自己想要的神经网络结构,然后通过tesnorflow部署在CPU、GPU上。
三.tensorflow入门
计算模型:通过计算图的形式,表述计算的编程系统;张量:表述数据的形式
特征向量是神经网络的输入,在输入和输出层之间的神经网络叫做隐藏层,隐藏层越多,神经网络越深。
神经网络的设计可以分成四部:
1.提取问题特征作为输入
2.定义神经网络结构
3.通过训练数据,调整神经网络中的参数取值
3.1 定义损失函数和反向传播优化的算法
4.使用训练好的神经网络来预测
全连接神经网络,就是相似两层任意两节点间全连接
四.深层神经网络
深度学习:一类通过多层非线性变换对高复杂性数据建模算法的集合,感知机可以理解为单层神经网络,加上深层神经网络,可以解决异或运算,深层神经网络扮演了组合提前特征的角色。
softmax层,则将神经网络的输出变成一个0到1 的概率区间。

五.MNIST数字识别问题
代码分为三个文件, mnist_inference.py定义了前向传播的过程和神经网络中的参数,mnist_train.py定义了神经网络的训练过程,mnist_eval.py定义了测试过程。
mnist_inference.py:
1.定义输入层、输出层参数
2.前向传播算法定义
mnist_train.py:
1.配置神经网络参数
2.定义损失函数,学习率和操作过程
mnist_eval.py:
1.训练
六.卷积神经网络
全连接的问题在于参数太多,需求计算资源太多&容易过拟合,所以改变层级节点间的链接方式

卷积神经网络各层功能说明
1.输入层:整个神经网络的输入,处理图像时,它代表了图片的像素矩阵
2.卷积层:卷积层的每一个节点的输入只是上一层神经网络的一小块,这个小块可能是3*3,5*5,卷积层处理过后的图片三维矩阵会加深
3.池化层:不会改变图片矩阵深度,但可以缩小图片矩阵大小,降低分辨率
4.全连接层:前面两层已将图片中的特征信息抽象出来,之后就是全连接层,完成分类任务

七.图像数据处理
图片的预处理&数据集的导入、处理方法
八.循环神经网络
RNN&LSTM
相比普通机器学习算法or神经网络算法,循环神经网络强调挖掘数据中的时序信息。

输出O,不仅由输入决定,还和单元的上一次输出结果有关。
循环神经网络的变种
双向循环神经网络,当前的输出不仅和之前状态有关,也和之后的状态有关

九.自然语言处理
自然语言处理因为语言的复杂性,传统机器学习表现一直一般,循环神经网络的出现,不仅解决了语言复杂,无法人工提取特征,也解决了如何更好的挖掘语言中的时间信息这个问题。

循环神经网络可以将任意长度的上下文信息存储在隐藏状态中,因此使用循环神经网络做为语言模型这天然的优势。

网友评论