[Machine Learning][Part 7]神经网络的基本组成结构

这里我们将探索神经元/单元和层的内部工作原理。特别是,与之前学习的回归/线性模型和逻辑模型进行比较。最后接介绍tensorflow以及如何利用tensorflow来实现这些模型。

神经网络和大脑的神经元工作原理类似,但是比大脑的工作原理要简单的多。大脑中神经元的工作原理如下图:inputs表示上一个神经元传递过来的信号,然后经过当前神经元的处理,当前神经元将处理后的信号传递给下一个神经元,这样基本的信号传递就完成了。

神经网络的结构

machine learning的神经网络结构类似于大脑的神经网络结构,下图中向量x为上一层的输入,包含三个蓝色圆圈的黑色方框是当前的处理层,向量a[1]为当前层的输出,并且问下一层的输入,向量a[2]为最终的输出结果。可以看到一个简单的神经网络由输入层处理层输出层组成,其中处理层中可以包含多个处理的"神经元",处理层也叫做隐藏层。

更复杂的神经网络包含多个处理层,如下图,包含两个处理层:

输入层

输入训练数据的作用

处理层

处理层中包含多个神经元,每一个神经元就是一个处理模型,比如说线性回归模型,逻辑回归模型或者sigmoid激活函数。

比如上面的处理层a[1]有3个神经元(unit表示神经元),那么layer_1中包含3个unit,并且都是sigmoid激活函数。输出层a[2]有一个神经元,那么layer_2中unit为1,模型为sigmoid激活函数

那么怎么将各层之间的输入与输出联系起来呢?Sequential会将所有的层按线性连接起来形成module,如下图

这种上一层的输出结果作为下一层的输入,并计算下一层的输出,直到计算到输出层为止,被叫做前向传播(forward)。 前向传播的一般实现为:

python 复制代码
import numpy as np


W = np.array([[1,-3,5]
              [2,4,-6]])
b = np.array([-1,1,2])
a_in = np.arry([-2,4])


def dense(a_in,W,b,g):
    units = W.shape[1]
    a_out = np.zeros(units)
    for j in range(units):
        w= W[:,j]
        z = np.dot(w,a_in) + b[j]
        a_out[j]=g(z)
    return a_out


def sequential(x):
    a1 = dense(x,W[1],b[1])
    a2 = dense(a1, W[2], b[2])
    a3 = dense(a2, W[3], b[1])
    a4 = dense(a3, W[4], b[1])
    f_x = a4
    return f_x
相关推荐
如何原谅奋力过但无声29 分钟前
TensorFlow 2.x常用函数总结(持续更新)
人工智能·python·tensorflow
qyresearch_1 小时前
大语言模型训推一体机:AI算力革命的“新引擎”,2031年市场规模突破123亿的黄金赛道
人工智能·语言模型·自然语言处理
计算机小手1 小时前
使用 llama.cpp 在本地高效运行大语言模型,支持 Docker 一键启动,兼容CPU与GPU
人工智能·经验分享·docker·语言模型·开源软件
短视频矩阵源码定制1 小时前
矩阵系统哪个好?2025年全方位选型指南与品牌深度解析
java·人工智能·矩阵·架构·aigc
java1234_小锋1 小时前
[免费]基于Python的Flask酒店客房管理系统【论文+源码+SQL脚本】
开发语言·人工智能·python·flask·酒店客房
hakuii1 小时前
SVD分解后的各个矩阵的深层理解
人工智能·机器学习·矩阵
这张生成的图像能检测吗2 小时前
(论文速读)基于图像堆栈的低频超宽带SAR叶簇隐蔽目标变化检测
图像处理·人工智能·深度学习·机器学习·信号处理·雷达·变化检测
leijiwen2 小时前
城市本地生活实体零售可信数据空间 RWA 平台方案
人工智能·生活·零售
L-ololois2 小时前
【AI产品】一键比较GPT-5、Claude 4、Gemini 2.5、Deepseek多chatbot
人工智能·gpt
2401_841495642 小时前
【自然语言处理】生成式语言模型GPT复现详细技术方案
人工智能·python·gpt·深度学习·语言模型·自然语言处理·transformer