终于开始学神经网络了,之前一直觉得这个概念很玄乎。

看了一些视频和文章,大概理解了:

基本概念

神经网络就是模仿人脑神经元的工作方式。每个神经元接收输入,加权求和,再通过激活函数输出。

一个最简单的神经网络结构:

  • 输入层:接收数据
  • 隐藏层:提取特征(可以有多个)
  • 输出层:给出结果

激活函数

为什么需要激活函数?如果没有激活函数,多层神经网络就等价于线性回归,就没法处理复杂问题了。

常用的激活函数:

  • ReLU:简单好用,f(x) = max(0, x)
  • Sigmoid:把输出压缩到 0-1 之间
  • Softmax:用于多分类

今天踩的坑

用 PyTorch 的时候,忘记把数据转成 Tensor,一直报错… 后来才发现要这样:

还有 GPU 加速的问题,我服务器没有 GPU,只能用 CPU 跑,速度确实慢。

慢慢来吧,先把基础打好。