100天搞定机器学习|Day35 深度学习之神经网络的结构

简介: 100天搞定机器学习|Day35 深度学习之神经网络的结构

这集Grant大佬假设大家都没有神经网络的基础,为新手讲解神经网络基本概念,让大家再听说神经网络学习的时候,可以明白究竟是什么意思。大佬选择经典的多层感知器(MLP)结构解决手写数字识别问题,理由是理解了经典原版,才能更好地理解功能强大的变种,比如CNN和LSTM。


首先看看神经元和他们是怎么连接的


神经元可以理解为一个装着0到1之间数字的容器。以28*28输入图像每一个像素为例,每一个原点都是一个神经元,其中数字代表对于像素的灰度值,0表示纯黑,1表示纯白,这个数字在神经网络里称作“激活值”。


640.jpg


这784个神经元就组成了网络的第一层,最后一层的十个神经元代表0-9这十个数,同样的,他们的激活值也在0-1之间,代表了输入图像对应哪个数字的可能性。网络中间层被称为隐含层,可以看做黑箱,数字识别的具体工作就在这里完成,这里加了两层隐含层,每层有16个神经元——随便设置的,只是为了显得好看,后期还可以再调整。


640.jpg


神经网络处理信息的核心机制正是如此,一层的激活值通过一定的运算,得出下一层的激活值。上面也提到784个神经元代表的是数字图案,那么下一层激活值也会产生某些特殊的图案,最终在输出层最亮的神经元表示神经网络的选择。


640.jpg


我们再看看如何训练,为什么这种层状结构就能识别数字呢?


我们可以把数字进行拆解,理想状况下希望倒数第二层的各个神经元可以分别对应上一个笔画。


640.jpg


再来看隐含层第一层,当输入为9或8的上面带圈的数字时,某个神经元的激活值就会接近1,希望所有这种位于图像顶部的圆圈图案都能点亮这个神经元,这样,从第三次到输出层,我们只需要学习哪些部件能组合出哪个数字即可。


640.jpg



但是如何识别圆圈呢?同理可以把它拆分成更细微的问题。


640.jpg


于是我们希望网络第二层的各个神经元对应这些短边,第二层就能把所有关联短边的八到十个神经元都点亮,接着就能点亮对于顶部圆圈和长竖条的神经元。


640.png


然后我们看看连线的作用


如何让第二层(隐含层的第一层)中的这一个神经元能够能够识别出图像的这一块区域是否存在一条边?


640.jpg


我们设计让第二层的某一个神经元能正确识别图像中的这块区域里是否存在一条边。


640.jpg


我们拿出第一层(输入层/第0层)的激活值,并赋上权重(要关注区域的权重为正值,否则为0),这样对所有像素值求加权和,就只会累加关注区域的像素值了。


640.jpg



绿色为正值,红色为负值,颜色越暗表示权重越接近0


640.jpg


所以想要识别是否存在一条边,只需要给周围一圈的像素都赋予负权重


640.jpg


计算的加权值可以使任意大小的


640.jpg


但是我们需要的是将其压缩到0-1之间


640.jpg


这里就需要Sigmoid函数了,这就是激活函数。


640.jpg


激活值实际上就是一个对加权之和到底有多正的打分,但是有时加权之和大于0时,也不想点亮神经元,比如想要加权和大于10时才让他激发,这里就还需要加上一个偏置值,保证不随便激发。


640.jpg


权重告诉我们第二个神经元关注什么样的像素图案

bias告诉我们加权和要多大才能让神经元的激发有意义


640.jpg


这里有13000多个参数需要调整,所以这里所谓的学习就是找到正确的权重和偏置。刚开始讲到我们把神经元看作是数字容器,但是这些数字取决于输入的图像,所以把神经元看过一个函数才更准确,它的输入是上一层所有神经元的输出,它的输出是一个0-1之间的值。其实整个神经网络也是一个函数,输入784个值,输出10个值。不过它是一个包含了13000个权重、偏置参数的极其复杂的函数。


640.jpg

640.png


需要注意的是,机器学习尤其是神经网络运算与线性代数是密不可分的,之前有过介绍,请移步:


640.jpg


神经网络中需要大量的矩阵乘法和sigmoid映射运算


640.jpg


这种运算方式,非常适合编程,比如可以用Python的numpy很简单的实现。


640.jpg


最后需要一提的是,现在神经网络基本不再使用sigmoid了,比较流行的是ReLU(线性整流函数)。


640.jpg


end



100天搞定机器学习|Day36,我们将进行下一节,讲一下神经网络是如何通过数据来获得合适的权重和偏置的,敬请期待!

相关文章
|
3天前
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
16 4
|
2天前
|
机器学习/深度学习 存储 算法
基于CNN+LSTM深度学习网络的时间序列预测matlab仿真,并对比CNN+GRU网络
该文介绍了使用MATLAB2022A进行时间序列预测的算法,结合CNN和RNN(LSTM或GRU)处理数据。CNN提取局部特征,RNN处理序列依赖。LSTM通过门控机制擅长长序列,GRU则更为简洁、高效。程序展示了训练损失、精度随epoch变化的曲线,并对训练及测试数据进行预测,评估预测误差。
【计算巢】网络拓扑结构的比较分析:星形、环形与总线型
【5月更文挑战第31天】本文介绍了网络的三种常见拓扑结构:星形、环形和总线型。星形拓扑易于管理和维护,信息传递高效;环形拓扑结构简单,信息环状传递,但环中断可能导致网络瘫痪;总线型成本低、扩展易,但总线故障会全局影响。理解其特点有助于根据需求选择合适的网络结构。
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的无限可能:从机器学习到深度学习
【5月更文挑战第31天】本文旨在深入探讨人工智能(AI)的核心技术,包括机器学习和深度学习。我们将通过实例和案例研究,揭示这些技术如何改变我们的生活和工作方式。此外,我们还将讨论AI的未来发展趋势,以及它可能带来的挑战和机遇。
|
2天前
|
机器学习/深度学习 网络安全 决策智能
利用深度学习优化图像识别准确性的探索云计算与网络安全的融合:保护云服务的关键策略
【5月更文挑战第30天】 在计算机视觉领域,图像识别的准确性对于后续处理和分析至关重要。本文旨在探讨一种基于深度学习的方法来优化图像识别过程,通过构建一个更加精细和强大的卷积神经网络(CNN)模型,实现对图像特征的深层次挖掘和精确分类。文章首先回顾了当前图像识别中存在的挑战,接着提出一种新型的CNN架构,并通过实验验证了其在多个标准数据集上的性能表现。研究结果表明,该模型在提高识别精度的同时,还能有效降低误识率,为图像识别技术的进步提供了新的视角和解决方案。
|
3天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
17 0
|
4天前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化数据中心能效的研究数字堡垒的构建者:网络安全与信息安全的深层探索
【5月更文挑战第29天】在云计算和大数据时代,数据中心的能效问题成为关键挑战之一。本文通过集成机器学习技术与现有数据中心管理策略,提出了一种新型的智能优化框架。该框架能够实时分析数据中心的能耗模式,并自动调整资源分配,以达到降低能耗的目的。研究结果表明,应用机器学习算法可以显著提升数据中心的能源使用效率,同时保持服务质量。
|
4天前
|
机器学习/深度学习 数据采集 自然语言处理
基于机器学习的网络安全威胁检测系统
【5月更文挑战第29天】 在数字化时代,网络安全已成为一个不容忽视的问题。传统的安全防御手段往往依赖人工规则和特征匹配,难以应对日益复杂多变的网络攻击行为。本文提出了一个基于机器学习的网络安全威胁检测系统,旨在通过智能算法提高威胁识别的准确性和效率。系统利用先进的数据挖掘技术从大量网络流量中自动提取特征,并通过训练深度学习模型来识别潜在的安全威胁。本研究的创新点在于融合了自然语言处理(NLP)技术,以解析和理解网络攻击的语言模式,从而增强系统的检测能力。实验结果表明,该系统能够有效识别多种类型的网络攻击,包括钓鱼、恶意软件传播及先进持续性威胁(APT)。
|
4天前
|
机器学习/深度学习 数据采集 传感器
深度学习在图像识别中的应用进展构建高效机器学习模型:从数据预处理到模型优化的洞见
【5月更文挑战第29天】 在人工智能领域,深度学习技术已经成为推动图像识别进步的核心动力。随着卷积神经网络(CNN)的不断发展和优化,以及大数据和计算能力的显著提升,图像识别的准确性和效率得到了极大增强。本文将探讨深度学习技术在图像识别领域的最新应用,分析其关键技术创新点,并讨论未来可能的发展趋势。 【5月更文挑战第29天】 在探索数据科学与机器学习的融合艺术中,本文将引导读者穿越数据处理的迷宫,解锁特征工程的秘密,并最终在模型优化的顶峰俯瞰效率与准确性的壮丽景色。我们将通过一系列经过实战验证的技术感悟,展现如何打造一个既健壮又灵敏的机器学习模型。文章不仅聚焦于技术细节,更注重于概念理解与实
|
5天前
|
机器学习/深度学习 PyTorch 人机交互
探索深度学习在语音识别中的实践:基于循环神经网络的模型构建
探索深度学习在语音识别中的实践:基于循环神经网络的模型构建
17 0