深度学习的入门教程,建议初学者收藏

1、什么是深度学习
1.1 机器学习
图片
图1:计算机有效工作的常用方法:程序员编写规则(程序),计算机遵循这些规则将输入数据转换为适当的答案。这一方法被称为符号主义人工智能,适合用来解决定义明确的逻辑问题,比如早期的PC小游戏:五子棋等,但是像图像分类、语音识别或自然语言翻译等更复杂、更模糊的任务,难以给出明确的规则。

图2:机器学习把这个过程反了过来:机器读取输入数据和相应的答案,然后找出应有的规则。机器学习系统是训练出来的,而不是明确的用程序编写出来。举个例子,如果你想为度假照片添加标签,并希望将这项任务自动化,那么你可以将许多人工打好标签的照片输人机器学习系统,系统将学会把特定照片与特定标签联系在一起的统计规则。

定义:机器学习就是在预定义的可能性空间中,利用反馈信号的指引,在输入数据中寻找有用的表示和规则。

图片
1.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标量

import numpy as np
x = np.array(3)
x.ndim // 轴:0, 形状:()
2.1.2 向量(1阶张量)
数字组成的数组叫做向量(VECTOR),也叫1阶张量或1维张量。

下面是一个NumPy向量

x = np.array([4, 1, 5])
x.ndim // 轴:1, 形状:(3,)
这个向量包含3个元素,所以也叫3维向量。不要把3维向量和3维张量混为一谈,3维向量只有一个轴,沿着这个轴有3个维度。

2.1.3 矩阵(2阶张量)
向量组成的数组叫做矩阵(MATRIX),也2阶张量或2维张量。矩阵有2个轴:行和列。

下面是一个NumPy矩阵

x = np.array([
[4, 6, 7],
[7, 3, 9],
[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值