深度学习入门

《深度学习入门:基于Python的理论与实现》读书笔记

  1. 书籍概述

《深度学习入门:基于Python的理论与实现》是斋藤康毅编写的一本面向初学者的深度学习书籍。本书结合理论与代码实现,循序渐进地介绍了深度学习的核心概念,并通过Python代码实现神经网络和卷积神经网络(CNN)。书中的代码较为简洁,没有使用深度学习框架,如PyTorch,而是从零开始实现深度学习的关键组件。

  1. 深度学习基础

2.1 人工智能、机器学习与深度学习

•	人工智能(AI):研究如何使计算机像人一样执行智能任务的领域。
•	机器学习(ML):AI的一个子领域,机器可以通过数据进行学习,而不是通过明确的规则编程。
•	深度学习(DL):机器学习的一个分支,使用多层神经网络来学习数据表示。

2.2 神经网络与感知机

•	感知机(Perceptron) 是一种简单的神经网络单元,使用权重和阈值来模拟神经元。
•	公式:

•	多层感知机(MLP) 通过隐藏层增加神经网络的表达能力。

2.3 交叉熵损失函数与梯度下降

•	均方误差(MSE):

•	交叉熵损失函数(Cross-Entropy):

•	梯度下降(Gradient Descent):

2.4 反向传播算法

•	反向传播(Backpropagation)是计算神经网络梯度的重要方法。
•	采用链式法则计算梯度,并利用梯度下降更新权重。
  1. 深度学习的实现

3.1 神经网络的实现

使用NumPy实现简单的神经网络:

import numpy as np

def sigmoid(x):
return 1 / (1 + np.exp(-x))

初始化参数

W = np.random.randn(2, 3)
b = np.random.randn(3)

输入数据

X = np.array([0.5, 0.8])

前向传播

y = sigmoid(np.dot(X, W) + b)
print(y)

3.2 权重初始化与激活函数

•	使用 Xavier初始化 避免梯度消失:

3.3 过拟合与正则化

•	L1正则化:

•	L2正则化:

3.4 误差反向传播实现

def backward(dL_dy, W, X):
dL_dW = np.dot(X.T, dL_dy)
dL_dX = np.dot(dL_dy, W.T)
return dL_dW, dL_dX

  1. 深度学习的优化

4.1 SGD优化器与改进方法

•	动量优化(Momentum)
•	Adam优化器

4.2 批量归一化

Batch Normalization 加速收敛,防止梯度消失。

4.3 超参数调整

•	学习率调整策略
•	数据增强
  1. 卷积神经网络(CNN)

5.1 CNN的基本结构

•	卷积层
•	池化层
•	全连接层

5.2 卷积运算与池化层

•	卷积操作:

5.3 CNN的实现

import torch
import torch.nn as nn

class SimpleCNN(nn.Module):
    def __init__(self):
        super(SimpleCNN, self).__init__()
        self.conv1 = nn.Conv2d(1, 32, kernel_size=3, padding=1)
        self.fc = nn.Linear(32 * 28 * 28, 10)

    def forward(self, x):
        x = torch.relu(self.conv1(x))
        x = x.view(x.size(0), -1)
        x = self.fc1(x)
        return x
  1. 深度学习的应用

6.1 MNIST数据集分类

•	通过LeNet5进行手写数字分类。

6.2 计算机视觉与自然语言处理

•	ResNet 用于图像识别。
•	Transformer 用于自然语言处理。

6.3 深度学习的前沿发展

•	GANs 生成对抗网络
•	强化学习与AlphaGo
  1. 总结与思考

本书从理论到实践系统地介绍了深度学习的基本概念,并通过Python代码实现关键算法。通过本书学习,可以掌握深度学习的基本理论、神经网络的数学基础及其实现方式。建议进一步学习PyTorch或TensorFlow,并进行实际项目实践,以加深理解。

posted @ 2025-03-30 22:13  坚毅勤奋诚朴健美  阅读(57)  评论(0)    收藏  举报