刘二大人PyTorch深度学习实践-day01

PyTorch 深度学习实践

01.Overview

刘二大人视频学习笔记,2023年07月03日。

本章是对课程的一些介绍和入门内容的介绍,但是刘二大人有着非常广阔的知识面,随便听都能听到新东西,做一些重要内容的记录,共勉。

(🥺我在电脑用Typora写,最终要存在CSDN上,所以截图很麻烦,尽量以文字形式记录)


1.课程目标(Goal of this tutorial)

  • 如何用PyTorch来实现一个学习系统
  • 理解最基本的神经网络(neural networks)/深度学习(deep learning)

由此需要的课程基础:

  • 线性代数 + 概率论与数理统计
  • Python

2.人类智能与机器学习(Human Intelligence & Machine Learning)

(1)人类智能

今天吃什么?今天穿什么?

我们会根据信息分析得出结果。

推理:Information --> infer

预测:Image(实体) --> Prediction(抽象)

(2)机器学习

但是机器学习,会将你可能吃/穿的,以独特的方式凸显出现(比如外卖特价)。

课程所用的基本都是监督学习,他的计算过程(算法)来自于数据


机器学习概念分层:

AI,比如Knowledge bases,知识库

​ Machine Learning,比如Logistic Regression逻辑斯蒂回归

​ Representation Learning表示学习,比如Shallow Autoencoders浅层的自动编码器

​ Deep Learning,比如MLPs多层感知机,卷积神经网络……


3.如何开发学习系统?

  • Rule-based Systems基于规则的系统

input --> Hand-designed program --> output

最早的人工智能算法就是基于Rule-based

比如

∫ f ( x ) d x \int f(x)dx f(x)dx

最早的人工智能函数求解原函数就是构建知识库,这需要具有相关领域的知识:

( 1 ) ∫ e x d x = e x ( 2 ) ∫ x N d x = 1 N + 1 x N + 1 … (1) \int e^xdx = e^x \quad(2) \int x^Ndx = \frac{1}{N+1}x^{N+1}\dots (1)exdx=ex(2)xNdx=N+11xN+1

∫ ( f ( x ) + g ( x ) ) d x = ∫ f ( x ) d x + ∫ g ( x ) … \int(f(x)+g(x))dx = \int f(x)dx + \int g(x) \dots (f(x)+g(x))dx=f(x)dx+g(x)

还有三角变换等规则,利用这些规则进行计算。

但是这样方式会导致规则越来越多,越来越难维护,这种系统并不是一种学习系统,但是确实是早期人工智能方法。

  • Classic Machine Learning经典机器学习

input --> Hand-designed features(手工特征提取) --> Mapping from features(建立映射) --> output

  • Representation Learning表示学习

input --> Features --> Mapping from features–> output

维度诅咒

维度越多,对数据的需求就越大。

Features的数量越多,根据大数定律,与真实的数据约接近。但如果在一维采样10个点满足了大数定律,在二维采样就需要100个点,三维就需要有1000个……

实际情况下,需要对维度进行降低,需要进行线性映射(线性代数,矩阵乘法)或者非线性映射

这种高维降低到低维的过程就称为Present(表示)。

这里有一个分支Manifold(流形),可以说“这是在高维空间的一个低维流形“。

什么是流形?

比如银河系,在三维宇宙里,是一个倾斜的趋于光滑的平面。这样可以把某一星球坐标放在平面形成坐标,[x,y,z]->[u,v]。

Deep Learning深度学习

input --> Simple Features(原始特征:比如语音的波形,图片像素的张量,二维表格的数据) --> Additional Layers of More Abstract Features --> Mapping from features–> output

其中,表示学习的Feature和学习器分开训练,但是深度学习是统一的,所以深度学习叫做End to End(端到端的学习)

2010 年之前表示学习一般使用的是SVM Family,后面改为深度学习的端到端的学习。

4.传统的机器学习策略

此处为scikit-learn algorithm cheat-sheet给出的策略图。

5. 挑战(SVM受到的挑战)

  • Limit of hand-designed feature
  • SVM can not handle big data set well
  • More and more application need to handle unstructured data

IMGENET的ILSVRC竞赛数据,可见深度学习从ILSVRC11 - ILSVRC12错误率有很大改进,最后在ILSVRC15上错误率为3.57%超过了人类工作的错误率5%。

6.神经网络的历史——从神经科学到数学和工程学

  • 1959年对哺乳动物的研究,可以发现视觉神经在处理信息的时候是分层的,浅层神经元检测简单的特征,比如线条的移动或颜色块,高级神经元再去检测具体的特征。
  • 类似神经元树突和突触建立了仿生学的算法,建立的感知机。根据神经元的来接,建立了人工神经网络。
  • 其中最重要的算法——Back Propagation反向传播。反向传播的核心就是计算图
  • 最早的深度学习模型是1998年LeNet-5,然后有AlexNet(2012年)GoogLeNet&VGG(2014年) ResNet(2015年)

7.好消息(?)

  • 深度学习不是too difficult
  • 有很多深度学习模型
  • 比较流行的深度学习模型:Theano/TensorFLow,Caffe/Caffe2.Torch/PyTorch

TF Static Graph

Pytorch Dynamic Graph

8.安装

不多说了!我也不知道具体安什么,后面课程看缺什么安什么。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值