当前位置:网站首页>深度学习基本概念
深度学习基本概念
2022-08-03 05:23:00 【白小李】
目录
3.1 寻找带有未知参数的Function(function with unknown parameter)
3.2 定义一个Loss(Loss is a function of parameter)
前言
机器学习作为大部分计算机研究生都会接触的课程,在本科到研究生的过度时间,提前进行学习,为未来的研究生生涯打好基础。本周主要对一些基础概念的学习。
一、机器学习是什么?
机器学习就是机器帮人类找一个人类自身难以写出的函数。(Looking for Function)
深度学习的发展历程:
深度学习术语:
MLP:Multilayer Perceptron:多层感知机
DNN:Deep neural networks:深度神经网络
CNN:Convolutional neural networks:卷积神经网络
RNN:Recurrent neural networks:循环神经网络
LSTM:Long Short-Term Memory:长短记忆单元
二 、3类Function
Regression:让机器输出一个数值,如预测PM2.5
Classification:让机器做选择题
二元选择题——binary classification,如用RNN做文本语义的分析,是正面还是负面
多元选择题——muti-class classification,如用CNN做图片的多元分类
Structured Learning:让机器学会创造(create something with structure(image,document))
如用seq2seq做机器翻译
如用GAN做二次元人物的生成
三 、寻找Function
3.1 寻找带有未知参数的Function(function with unknown parameter)
y代表进化后的cp值,Xcp代表进化前的cp值,w和b代表未知参数,可以是任何数值
根据不同的w和b,可以确定不同的无穷无尽的function,而此抽象出来的式子就叫做model,
是以上这些具体化的function的集合,
即function set实际上这是一种Linear Model,我们可以将其扩展为:
3.2 定义一个Loss(Loss is a function of parameter)
为了衡量function set中的某个function的好坏,我们需要一个评估函数,即Loss function。
Loss function实际上是在衡量一组参数的好坏,最常用的方法就是采用类似于方差和的形式来衡量参数的好坏,即预测值与真值差的平方和。
Example 1 10000 examples(N=10000) Batch size is 10(B=10) How many update in epoch? 1000 updates Example 2 10000 examples(N=1000) Batch size is 10(B=100) How many update in epoch? 10 updates
3.3 Optimization
寻找最优的w和b。让Loss最小。
Gradient Descent (假设只有一个参数w)
a.(Randomly) Pink an initial value W0
b.计算w对Loss的微分
c. 计算在W0这个点在Loss图像的斜率k。若k<0,则把w值变大,Loss值就会变小。若k>0,则把w值变小,Loss值就会变小。
两个参数问题本质上也是和处理单个参数是一样的。
learning rate,即学习率,它决定了每次踏出的step size不只取决于现在的斜率,还取决于一个事
先就定好的数值(hyperparameters),如果learning rate比较大,那每踏出一步的时候,参数w更
新的幅度就比较大,反之参数更新的幅度就比较小,如果learning rate设置的大一些,那机器学习的
速度就会比较快;但是learning rate如果太大,可能就会跳过最合适的global minima的点。
当微分为0的时候,参数就会一直卡在这个点上没有办法再更新了,因此通过gradient descent找出
来的solution。其实并不是最佳解global minima。微分为0时被称为(Local minima)。
Model Bias:Linear models have severe limitation(模型有点简单,需要一个更复杂的model)
Overfitting:Better on training data,worse on unseen data.
四、神经网络
神经网络有以下三个层次组成:输入层(input layer), 隐藏层 (hidden layers), 输出层 (output layers)。
Example Application
input:256-dim vector
经过Neural Network
output:10-dim vector
总结
对于深度学习的学习不是一簇而成,必须经过长时间的学习和了解,对于数学功底的要求和思维逻
辑的要求较高。应当多次复习,多看几遍视频再加以实践。
之前一直认为神经元网络是模拟人体大脑过程,经过学习和了解后,二者之间只是存在部分相同,
Neural Network是对函数的不断迭代和更新,直至函数最符合实际模型。
边栏推荐
猜你喜欢
随机推荐
C# Base64加密
Kettle Spoon 安装配置详解
动态调整web系统主题? 看这一篇就够了
MySQL 下载和安装详解
Qlik Sense 赋值详解(Set、Let)
EIP-5058 能否防止NFT项目方提桶跑路?
Oracle count(1)、count(*)、count(列) 区别详解
Ansible installation and deployment detailed process, basic operation of configuration inventory
Oracle null 有哪些注意事项【面试题】
docker mysql 容器中执行mysql脚本文件并解决乱码
SAP HANA 新增一列时报错详解
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
【DC-4靶场渗透】
Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)
controller层到底能不能用@Transactional注解?
[frp intranet penetration]
Execute the mysql script file in the docker mysql container and solve the garbled characters
Try setting CHROME_EXECUTABLE to a Chrome executable
边缘辅助无人机网络的分层联邦学习
Leetcode刷题——128. 最长连续序列