图1:计算机有效工作的常用方法:程序员编写规则(程序),计算机遵循这些规则将输入数据转换为适当的答案。这一方法被称为符号主义人工智能,适合用来解决定义明确的逻辑问题。比如早期的PC小游戏:五子棋等,但是像图像分类、语音识别或自然语言翻译等更复杂、更模糊的任务,难以给出明确的规则。
图2:机器学习把这个过程反了过来:机器读取输入数据和相应的答案,然后找出应有的规则。机器学习系统是训练出来的,而不是明确的用程序编写出来。举个例子,如果你想为度假照片添加标签。并希望将这项任务自动化,那么你可以将许多人工打好标签的照片输人机器学习系统,系统将学会把特定照片与特定标签联系在一起的统计规则。
定义:机器学习就是在预定义的可能性空间中,利用反馈信号的指引,在输入数据中寻找有用的表示和规则。
深度学习是机器学习的一个分支领域,强调从一系列连续的表示层中学习。现代的深度学习模型通常包含数十个甚至上百个连续的表示层,它们都是从训练数据中自动学习而来。与之对应,机器学习有时也被称为浅层学习。
在深度学习中,这些分层表示是通过叫作神经网络的模型学习得到的。深度神经网络可以看作多级信息蒸馏过程:信息穿过连续的过滤器,其纯度越来越高。
技术定义:一种多层的学习数据表示的方法。
1.3、深度学习工作原理a. 对神经网络的权重(有时也被称为该层的参数)进行随机赋值
b. 经过一系列随机变换,得到预测值Y'
c. 通过损失函数(有时也被称为目标函数或代价函数),得到预测值Y'与真实值Y之间的损失值
d. 将损失值作为反馈信号,通过优化器来对权重值进行微调,以降低当前示例对应的损失值
e. 循环重复足够做的次数(b-d),得到具有最小损失值的神经网络,就是一个训练好的神经网络
2、神经网络数学基础2.1、神经网络的数据表示目前所有机器学习系统都使用张量(tensor)作为基本数据结构,张量对这个领域非常重要,TensorFlow就是以它来命名。
张量这一概念的核心在于,它是一个数据容器。它包含的数据通常是数值数据,因此它是一个数字容器。你可能对矩阵很熟悉,它是2阶张量。张量是矩阵向任意维度的推广,张量的维度通常叫做轴。
张量是由以下3个关键属性来定义的。
•轴:轴的个数
•形状:表示张量沿每个轴的维度大小(元素个数)
•数据类型(dtype):数据的类型,可以是float16、float32、float64、unit8、string等
2.1.1、标量(0阶张量)仅包含一个数字的张量叫做标量(SCALAR),也叫0阶张量或0维张量。
下面是一个NumPy标量
测试精度约为97.8%,比训练精度98.9%低不少。训练精度和测试精度之间的这种差距是过拟合造成的。
4、参考资料图书:Python深度学习(第2版)
作者:[美]弗朗索瓦·肖莱 著 张亮 译
作者:京东科技 牛志伟
来源:京东云开发者社区