机器学习-动手学深度学习pytorch版1-3章笔记

这篇博客详细介绍了深度学习的起源、发展和成果,包括Siri、语音识别和自动驾驶等应用。博主还讨论了深度学习的特点,如端到端训练和非参数模型。在预备知识部分,讲解了环境配置、数据操作和自动求梯度。接着,通过线性回归和softmax回归的实现,深入浅出地阐述了深度学习的基础概念,包括线性回归的矢量计算表达式、自动求梯度的原理以及多层感知机的实现。最后,博主介绍了PyTorch中的数据集和优化算法,展示了如何训练和评估模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


这是动手学深度学习pytorch版学习笔记,其中每次笔记都对应几个章节。

1.深度学习简介

1.1 起源

雅各比·伯努利(1655–1705):伯努利分布
卡尔·弗里德里希·高斯(1777–1855):最小二乘法
罗纳德·费雪(1890–1962):统计学理论
克劳德·香农(1916–2001)的信息论
阿兰·图灵 (1912–1954)的计算理论
唐纳德·赫布(1904–1985):赫布理论
亚历山大·贝恩(1818–1903)和查尔斯·斯科特·谢灵顿(1857–1952):神经网络
绝大多数神经网络都包含以下的核心原则:
1)交替使用线性处理单元与非线性处理单元,它们经常被称为“层”。
2)使用链式法则(即反向传播)来更新网络的参数。

1.2 发展

近十年来深度学习长足发展的部分原因:
1)优秀的容量控制方法,如丢弃法
2)注意力机制解决了另一个困扰统计学超过一个世纪的问题
3)记忆网络 [6]和神经编码器—解释器 [7]这样的多阶设计使得针对推理过程的迭代建模方法变得可能。
4)生成对抗网络的发明
5)分布式并行训练算法+GPU
6)并行计算的能力
7)深度学习框架也在传播深度学习思想的过程中扮演了重要角色。Caffe、 Torch和Theano。TensorFlow。

1.3 成果案例

1)苹果公司的Siri、亚马逊的Alexa和谷歌助手:口头提问
2)精确识别语音
3)物体识别
4)游戏
5)自动驾驶汽车的发展

1.4 特点

1)深度学习的一个外在特点是端到端的训练
2)从含参数统计模型转向完全无参数的模型
3)相对其它经典的机器学习方法而言,深度学习的不同在于:对非最优解的包容、对非凸非线性优化的使用。
4)开源了许多优秀的软件库、统计模型和预训练网络。

2.预备知识

2.1 环境配置

Anaconda/juphyter/pytorch/pycharm

2.2 数据操作

1.创建tensor
在这里插入图片描述

2.操作
1)算术操作
在PyTorch中,同一种操作可能有很多种形式。
2)索引
索引出来的结果与原数据共享内存,也即修改一个,另一个会跟着修改。高级选择函数:
在这里插入图片描述

3)改变形状
用view()来改变Tensor的形状:
4)线性代数:
在这里插入图片描述
3.广播机制
当对两个形状不同的Tensor按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个Tensor形状相同后再按元素运算。
4.运算的内存开销
索引操作是不会开辟新内存的,而像y = x + y这样的运算是会新开内存的,然后将y指向新内存。
5.Tensor和NumPy相互转换
我们很容易用numpy()和from_numpy()将Tensor和NumPy中的数组相互转换。但是需要注意的一点是: 这两个函数所产生的的Tensor和NumPy中的数组共享相同的内存(所以他们之间的转换很快),改变其中一个时另一个也会改变!!!
6.Tensor on GPU
用方法to()可以将Tensor在CPU和GPU(需要硬件支持)之间相互移动。

2.3 自动求梯度

在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。
不允许张量对张量求导,只允许标量对张量求导,求导结果是和自变量同形的张量。

3.深度学习基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值