Dige945's Homepage

Animal Co.,Ltd.

LeNet

当年的LeNet是用来识别手写数字的,伴随着诞生了一个知名数据集MNIST
img

AlexNet

img

AlexNet是更大更深的LeNet,10x参数个数,260x计算复杂度

Read more »

引入

在之前我们对图像进行卷积操作时,例如检测边界
(0与1的边界)
img

用[0,-1]卷积核对图像进行卷积操作时候,会发现一旦得到的边界只有一列,这对于日常处理图片的时候,边界过小,在图像平移or模糊的情况下,不是很好得到有明显边界的矩阵

img

所以池化层就是为了解决卷积核过于敏感的问题,使得卷积操作的容错率上升

Read more »

两个核心

Generator

img

作用:通过CNN等神经网络从Normal Distribution中拿出很多低维向量生成遵循一个复杂的分布的很多高维向量(实际应用中多用于图片的生成,目标是要骗过Discriminator的辨别,骗它这张假的生成的图片是真实的图片)

Discriminator

Read more »

Look at this J funciton:

it makes unacceptably large errors in predictions.

What do you try next?

Get more training examples

Fixes high variance
(or we could say overfitting)

Read more »

在认识VAE之前,先得了解一下AE(Auto-Encoder)是什么东西?

AE(Auto-Encoder)

AE介绍

作为一种无监督或者自监督算法,自编码器本质上是一种数据压缩算法。

所谓自编码器(Autoencoder,AE),就是一种利用反向传播算法使得输出值等于输入值的神经网络,它先将输入压缩成潜在空间表征,然后将这种压缩后的空间表征重构为输出。

Read more »

几个基础概念

1、Receptive Field(感受野)

在卷积神经网络中,感受野的定义是:卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

img

2、Filter or Kernel

Read more »

昨晚被Johnny Zhu问了一下交叉熵是啥东西,发现自己确实是学了如学,只学了个名字,所以重新整理一下

信息量

举个例子

1
事件A为小猪一天速通深度学习,事件B为小猪今天吃了三顿饭

很明显事件B绝对发生,小猪肯定要吃饭,所以我们认为理所应当,而事件A一天速通深度学习,这件事情显然不是那么可能,我们可能会问“咋学的这么快”“学了啥啊”等等,所以其中包含的信息明显比“一天吃三顿饭”多得多,这也就是事件的信息量

Read more »

数据集的分类

1、训练数据集:负责拿来训练模型参数的(W b等等)

2、验证数据集(通常从训练数据集中取没有用过的数据集):用于选择模型超参数

3、测试数据集:全新的、可能没有任何标签的数据集,用于测试模型的水平

warning:训练数据集和验证数据集不要混在一起用

Read more »

img

tips:一般在神经网络中,一层神经网络指的是权重,偏差,以及激活函数;输入层(input layer)一般不纳入其中,因为它只有一个输入

多层感知机的实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import torch
from torch import nn, softmax
from d2l import torch as d2l


batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

num_inputs , num_outputs, num_hiddens = 784,10,256
#第一层是输入层
W1 = nn.Parameter(torch.randn(num_inputs,num_hiddens,requires_grad=True))
#前面两个参数分别对应行数和列数
b1 = nn.Parameter(torch.zeros(num_hiddens,requires_grad=True))
#第二层是输出层
W2 = nn.Parameter(torch.randn(num_hiddens,num_outputs,requires_grad=True))
b2 = nn.Parameter(torch.zeros(num_outputs,requires_grad=True))

params = [W1,b1,W2,b2]

def relu(X):
a = torch.zeros_like(X)
#生成一个全0的tensor,和X的形状一致
return torch.max(X,a)
#模型实现
def net(X):
X = X.reshape((-1,num_inputs))
H = relu(torch.matmul(X,W1) + b1)
return torch.matmul(H,W2) + b2

loss = nn.CrossEntropyLoss()

#模型的训练
num_epochs , lr = 10, 0.1
updater = torch.optim.SGD(params,lr=lr)
d2l.train_ch3(net,train_iter,test_iter,loss,num_epochs,updater)

机器学习的一点笔记(其实只是拿来练一下公式输入)

1、sigmoid activation function

2、RELU activation function

Read more »
0%