神经网络之网络基础
一、第一关:神经网络概述
1、
下列说法错误的是
A、
激活函数可以使神经元搭建输入到输出之间的映射关系。
B、
反馈网络模型在不同 的时刻有属于当前不同的状态,具有一定的记忆功能。
C、
所有神经网络一定都包含输入层、隐藏层、输出层三部分。
D、
理论上而言,网络层次的深度越深,神经网络能够拟合的能力越强,越能够解决更复杂的问题。
正确答案:C
二、第2关:神经元
任务描述
本关任务:通过学习神经元的相关知识,编写一个线性神经元模型。
相关知识
为了完成本关任务,你需要掌握:
神经元模型;
pytorch中torch.mm(a,b)函数的使用。
代码如下:
import torch
def linear(X,w,b):
"""
线性神经元
:param X: 训练数据。形状为[ batch_size, num_inputs ]
:param w: 权值。形状为[ num_inputs,1]
:param b: 偏置项。形状为[ 1 ]
:return: 线性计算结果
"""
# 矩阵相乘可以使用torch.mm(a,b)
########## Begin ##########
y =torch.mm(X,w)+b
########## End ##########
return y
三、第3关:常见学习方法
1、
下列说法错误的是:
A、
对于不同的学习方法,他们的目的都是为了减小实际输出和正确值之间的误差。
B、
赫布学习规则中,两个神经元同时被激活, 则这两个神经元之间的权值就会降低;如果它们分别被激活,则它们之间的权值会增加。
C、
最小均方规则基本原理是对一组包含n个元素的输入作为一个线性组合加权求和,对得到的求和结果y与期望输出 d进行比较,计算误差值e,并根据误差值的大小对权值进行调整。
D、
误差修正学习通常与监督学习一起使用,是将系统输出与期望输出值进行比较,并使用该误差来改进。
正确答案:B
四、第四关:优化方法:梯度下降
相关知识
为了完成本关任务,你需要掌握:
优化算法概述;
梯度下降法;
梯度消失。
优化算法概述
优化算法的作用是通过不断改进模型中的参数使得模型的损失最小或准确度更高。在神经网络中,训练的模型参数主要是内部参数,包括权值(W)和偏置(B) 。
模型的内部参数在有效训练模型和产生准确结果方面起着非常重要的作用。常见的优化算法分为两类。
1.一阶优化算法。
该算法使用参数的梯度值来最小化损失值。最常用的一阶优化算法是梯度下降。函数梯度可以采用导数
dx
dy
的多变量表达式进行表达,用于表示 y 相对于 x 的瞬时变化率 。 通常为了计算多变量函数的导数,用梯度代替导数,并使用导数来计算梯度 。
2.二阶优化算法。
代码如下:
def set_learning_rate():
"""
你可以自己设定学习速率
:return: 求解过程的学习速率
"""
########## Begin ##########
lr = 0.4
########## End ##########
return lr
def set_epochs():
"""
你可以自己设定迭代次数
:return: 求解过程的迭代次数
"""
########## Begin ##########
epochs = 100
########## End ##########
return epochs
def iterate(x,lr,epochs):
"""
求解过程
:param x: 随机输入
:param lr: 学习速率
:param epochs: 迭代次数
:return: 指定函数取得极值时所对应的x的值
"""
########## Begin ##########
for epoch in range(epochs): #迭代 epochs 次
y_hat = 2*x +6 #计算 y 的梯度 y_hat
x += (-y_hat*lr) #更新 x 的位置
########## End ##########
return x