神经网络 (neural network) 概念

文章目录

    在 PyTorch 的教程及书籍中,经常会看到神经网络这个词。

    英文是:neural network。

    neural 是个形容词,神经的,神经系统的。中文发音:呢若 / 牛若。

    代码中也常见到

    torch.nn
    
    # 或者是
    from torch import nn
    

    nn 即是 neural network 的缩写。

    神经网络是由一堆神经元(neuron)组成。神经元以层(layer)的形式组织起来。

    神经网络的作用

    简单来说,一个神经网络就是一套算法,自动推导出输入数据与其对应的输出数据(结果)之间的关系。

    举个例子,假如你有一套数据集,里面记录了历年的高考成绩,所在省份,及填报志愿的学校排名,以及最终是否被录取。

    我们就可以基于这套数据,利用神经网络推算出,一个省份考生的成绩及志愿学校,最终是否会被录取。

    一图胜千言

    这幅图描绘了一个神经网络的结构

    • 最左侧是三个输入数据
    • 每个箭头代表了一个权重,weight,所以参数形式为 w。权重从训练数据集中自动推算得出
    • 权重可以语义化的理解为每个 item 的重要性。
    • 每个圆圈代表一个神经元

    神经元 (neuron)

    每个神经元就是一个小的计算单元。其执行简单的计算,以集中处理一个问题。
    可以理解为一个小的函数。

    中文发音: 诺兰,牛若

    层 (layer)

    有三种类型的层

    • 输入层 input layer
    • 隐藏层 hidden layer
    • 输出层 output layer

    每一层包含了一系列的神经元。但是 output layer 除外,其只有一个神经元。

    AI 神经网络 VS 生物学神经网络

    AI 中的神经网络只是类比生物学上的神经网络,但是在处理逻辑上,最好不要代入去理解。
    容易引起误解。

    参考

    • 《Deep Learning with PyTorch 1.x》2019年11月出版

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式