[深度学习底层]简单神经网络的介绍与搭建

简介: [深度学习底层]简单神经网络的介绍与搭建

可以简单地将神经网络理解为一个函数,即将输入的数据进行某种变化成新的输出,神经网络有三个层:输入层,隐藏层,输出层,隐藏层一般可以有很多个,每一层有若干个神经元,以下我们构建一个简单的神经网络(一个输入层,一个隐藏层,一个输出层):

这个神经网络将二维数据转化为三维数据输出(输入层两个神经元,输出层三个神经元)。

神经网络的每一层是由神经元构成的,每个神经元包含一个值x,每个神经元指向下一个神经元的箭头表示当前神经元的权重w,同时包含一个常数b,称为偏置常数,此时,下一个神经元的值为当前神经元乘以权重加上偏置(这是无激活函数时的情况,激活函数下文会说明)。

这个神经网络的python代码实现如下:

import numpy as np
# 设置权重与偏置
w1 = np.random.randn(2, 4)
b1 = np.random.randn(4)
w2 = np.random.randn(4, 3)
b2 = np.random.randn(3)
# 神经网络推理
x = np.random.randn(5, 2)
h = np.dot(x, w1) + b1
s = np.dot(h, w2) + b2
print(s)

w1, w2分别为第一层到第二层,第二层到第三层的各神经元的权重,b1, b2分别为他们的偏置常数,h即为隐藏层各神经元的值,s为输出层各神经元的值。

实际情况中,每个神经元的值不是简单的由上一层神经元的值与权重和偏置进行运算决定的,往往隐藏层的神经元有一个激活函数,一个简单的例子是sigmoid激活函数,sigmoid函数接收任意实数,返回0~1的实数,公式如下:

用python代码实现如下:

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

我们将隐藏层加入一个sigmoid激活函数,变化后的代码如下:

import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))
# 设置权重与偏置
w1 = np.random.randn(2, 4)
b1 = np.random.randn(4)
w2 = np.random.randn(4, 3)
b2 = np.random.randn(3)
# 神经网络推理
x = np.random.randn(10, 2)
h = np.dot(x, w1) + b1
a = sigmoid(h)
s = np.dot(a, w2) + b2
print(s)

此时上一层神经元值与权重,偏置常数计算后的值作为激活函数的自变量,这时隐藏层神经元的值为激活函数的值

以上就是简单的神经网络介绍与实现代码啦。参考书籍:《深度学习进阶:自然语言处理》——斋藤康毅

相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其应用
【9月更文挑战第24天】本文将深入探讨深度学习中的一种重要模型——卷积神经网络(CNN)。我们将通过简单的代码示例,了解CNN的工作原理和应用场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
36 1
|
15天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
66 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
15天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
60 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
11天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
23 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
3天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【9月更文挑战第31天】本文旨在通过浅显易懂的语言和直观的比喻,为初学者揭开深度学习中卷积神经网络(CNN)的神秘面纱。我们将从CNN的基本原理出发,逐步深入到其在图像识别领域的实际应用,并通过一个简单的代码示例,展示如何利用CNN进行图像分类。无论你是编程新手还是深度学习的初学者,这篇文章都将为你打开一扇通往人工智能世界的大门。
|
5天前
|
机器学习/深度学习 人工智能 算法
深度学习中的对抗性生成网络
本文将深入探讨深度学习中的对抗性生成网络,通过通俗易懂的语言解释其工作原理及应用。我们将从基本原理入手,逐步解析对抗性生成网络的组成部分和训练过程,并结合具体实例展示其在图像生成和风格转换等领域的应用。同时,文章也将讨论在实际应用中可能面临的挑战及未来发展方向。
|
7天前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
33 5
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)入门与实践
【8月更文挑战第62天】本文以浅显易懂的方式介绍了深度学习领域中的核心技术之一——卷积神经网络(CNN)。文章通过生动的比喻和直观的图示,逐步揭示了CNN的工作原理和应用场景。同时,结合具体的代码示例,引导读者从零开始构建一个简单的CNN模型,实现对图像数据的分类任务。无论你是深度学习的初学者还是希望巩固理解的开发者,这篇文章都将为你打开一扇通往深度学习世界的大门。
下一篇
无影云桌面