Skip to content

9olqLl7-x6XtWyNUssHvLGkRzM5cj2_KAPAYU4vaHIw

2: 多层感知机理论

🌟 欢迎来到神经网络的核心世界!

你将开启深度学习之旅的关键一步——掌握多层感知机(MLP)​的理论基础!作为神经网络的基石,MLP不仅是最简单的深度学习模型,更是理解更复杂架构(如CNN、RNN)的钥匙。

📚1解释下列概念:

  1. 隐藏层,激活函数,全连接层

  2. 过拟合,欠拟合,暂退法,权重衰减

  3. 前向传播,反向传播,梯度爆炸,梯度消失

建议回答加上一些图片,多加入自己的理解,不要简单的复制粘贴

📦2回答问题:

  1. 为什么单层感知机无法解决异或问题?MLP如何解决

  2. 给定输入维度d,隐藏层维度h,输出维度o (1)参数数量是多少?(注意偏置参数)

    (2)根据参数量,计算以Float32,INT8方式存储的情况下参数所占内存空间?

    (3)前向传播的计算复杂度是?

  3. 比较不同激活函数:ReLU vs Sigmoid vs Tanh

    (1)梯度特性对比

    (2)死ReLU问题分析

    (3)sigmoid的计算比较复杂,请分析在前向传播和反向传播中通常会采用什么方法简化计算?

  4. 暂退法如何防止过拟合

🔥3动手实现MLP基础架构:

python
class MLP(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        """
        初始化多层感知机
        input_size: 输入特征维度
        hidden_size: 隐藏状态维度  
        output_size: 输出维度
        """
        
    
    def relu(self, x):
        """激活函数实现
           这里只给出了relu
        """
    
    def forward(self, X):
        """前向传播实现"""
class MLP(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        """
        初始化多层感知机
        input_size: 输入特征维度
        hidden_size: 隐藏状态维度  
        output_size: 输出维度
        """
        
    
    def relu(self, x):
        """激活函数实现
           这里只给出了relu
        """
    
    def forward(self, X):
        """前向传播实现"""

📚4简单的MLP实验:

二分类边界:圆形数据分离​

​实验目标​:生成内外两个圆形分布的数据点,训练MLP划分边界。

​关键步骤​:生成数据:内圆(半径<0.4,标签0),外圆(半径>0.6,标签1)

使用单隐藏层

可视化训练后权重对决策边界的影响

​预期效果​:验证简单隐藏层处理圆形边界的能力。

  1. 生成一个人造数据集

  2. 使用你自己写的MLP进行训练

python

def generate_circles(n_samples=1000, noise=0.05):
    """随机生成圆形数据集"""

def generate_circles(n_samples=1000, noise=0.05):
    """随机生成圆形数据集"""
  1. 训练完成之后统计参数的分布情况(画出频率分布图)

🎉5让你的模型效果更好

  1. 深度与宽度

    • 分析增加深度 vs 增加宽度的效果

    • 计算效率对比

  2. 初始化方法

    • 零初始化的问题

    • Xavier初始化原理

    • He初始化的优势

  3. 优化困境分析

    • 局部最优与鞍点问题

    • 学习率设置策略

    • 批量大小的影响

⚠️注意事项:

可以合理借助AI,但是不能照抄,必须要有自己的理解

提交要求

提交内容

  • 代码文件

    :将代码部分的.ipynb文件作为邮件附件,命名格式:ml-02-姓名-学号.ipynb

  • 文档报告

    :将写有这道题目文本解答的.md文件作为邮件附件,命名格式:ml-02-姓名-学号.md

  • 将两个文件压缩成压缩包ml-02-姓名-学号.zip提交

提交方式

  • 邮箱: gimmerml401@163.com

  • 主题: 2-姓名-学号

出题人:鹁霖

QQ:2046193615