翻译: 可视化深度学习神经网络一

在这里插入图片描述

这是一个随意书写的28*28像素、分辨率很低的数字 3 但你的大脑一看见就能轻松辨识出来 ,我想要你好好欣赏这点 人脑能够毫无障碍地辨识是非常厉害的
在这里插入图片描述

我的意思是,这个、这个、还有这个,都能被识别为 3 即使前后图像的图形组成有很大差异 当你看到这张 3 在眼中所激发的感光细胞 跟当你看到这张 3 所激发的感光细胞是非常不同的 但在你惊人聪明的视觉皮层的处理下 能将这两个3视为同一个概念,
在这里插入图片描述

同时将其他图像视为不同的概念
在这里插入图片描述

要是我要你:「嘿! 坐下来帮我写个程序, 」「输入像这个 28*28 像素的数字图像」 「接着输出该程序认为的 0 到 10 之间的一个数字 ,必须跟你认为的一样。」 这个任务将不再是家常便饭,而变得吓死人的困难 除非你是山顶洞人 我想不用再强调机器学习和神经网络之间,对未来发展的关联性和重要性 我现在要向你展示神经网络究竟是什么 假设你没有相关背景知识
在这里插入图片描述

我会可视化神经网络的运作 并且把它当作一门数学,不仅仅是当下流行词语

在这里插入图片描述

我希望你将能理解为什么神经网络是长这个样子 当你看到或听到机器借着神经网络来「学习」时 是了解其意涵的 这支视频将解释神经网络的结构structure 而下一部影片将解释机器学习learning。
在这里插入图片描述

我们要做的是打造一个可以辨识手写数字的神经网络 这是介绍这种主题很典型的范例 我乐于保持这种模式,因为在看完两支影片后 我会给你一些很好的网站,你可以在那里学到很多,并且下载代码 在你的电脑里好好研究 神经网络发展成很多很多不同类型 而且近年来对这些的研究有爆炸性的趋势
在这里插入图片描述

但这两支入门影片只会带你来认识,最简单的一种神经网络:「多层感知机 multilayer perceptron」(MLP) 最基本的样子 这是必要的入门知识 对于将来要理解现在任何一种强大的神经网络 而且相信我,今天的主题已经够复杂了,足以让你脑袋打结 即使是这么简单的神经网络也可以经由学习来分辨手写数字 这对电脑来说是非常酷的一件事 而且与此同时你也将看到神经网络不尽人意的地方
在这里插入图片描述

神经网络一如其名,是启发自生物的大脑神经结构 让我们来剖析它吧

何谓神经元,又是什么机制让它们连在一起的?
在这里插入图片描述

现在,当我说「神经元」,我要你联想到它是乘载一个数字的容器 基本是介于0和1之间的数字,但实际上不止于此

在这里插入图片描述

例如:神经网络以输入图像的每个像素,对应到每个神经元作为输入 也就是说输入层总共有784个神经元,每个都有乘载数字 ,每个数字代表了对应像素的灰阶值灰阶值0即黑色,1即白色这些在神经元中的数字称为「激活值」 在此你可能注意到 每当神经元激活值越高,该神经元就越亮 于是全部的 784 个神经元,组成了神经网络的第一层

在这里插入图片描述

我们现在跳到最后一层,这层有10个神经元,各自表示0到9的数字同样在这边的神经元也各自有着介于0到1的激励值表示对于给定的图像,神经网络对于实际数字的判断结果在输入层和输出层之间,有数个「隐藏层」 现在在本入门影片里 对于神经网络是如何进行判断的,我们只能先把它看做是巨大的问号 本影片展示的视觉化神经网络,我设计了两个隐层, 个别搭载16个神经元 这只是摆好看的设定 老实说之所以选择两个隐层,是基于可视化让你看得清楚的考量,待会解释
在这里插入图片描述

而安排 16 个神经元,只是为了符合版面,也是为了让你看得清楚 在实际应用上,神经网络的结构经实验不断调整可以变得非常巨大且特殊 神经网络操作一层激励值的方式,会决定下一层的激励值 这正是神经网络的核心价值,不同以往的数据处理技术,现在发展成只要输入 激励值从上一层传到下一层,最后输出足够正确的结果 神经网络的本质就是模仿生物的大脑, 就像一丛脑细胞被激发 引发其他神经细胞的串联反应 我现在展示的 这个神经网络已经训练完成了,可以准确识别图像中的数字
在这里插入图片描述

让我来解释「传递激励值」这点 意思是:当你输入一张 28x28 像素的图像,它将点亮 所有 784 个神经元 每个都比照对应像素的灰阶值,来决定自己的激励值 决定的数值分布状态会影响下一层被激活的神经元的分布 又会导致下一层不同的分布 最后抵达输出层,输出层的神经元也会有特定的分布 而最亮的那个就是神经网络所认为最有可能答对的答案 但在一脚踏进数学之前, 要先知道上层如何影响下层,而且机器学习为什么会有用
在这里插入图片描述

为什么我们认为层状结构会像这样聪明地运作是非常合理的? 我们在期待什么呢? 我们最想要神经网络的隐藏层怎么运作呢? 在你或我在辨识图中的数字时我们会把各种笔画拼凑在一起。

在这里插入图片描述

一个 9 字,上面有圆圈,而在右边有一条直线 一个 8 字,上面也有一个圆圈但在下面与另一个圆圈相连 一个 4 基本上可以拆解成就像那些特定的笔画
在这里插入图片描述

一个理想的情况中我们会希望第二层的每个神经元 能识别这些笔画的其中之一 每次你输入一个有顶部有个圆圈的图像如 9 或 8 时 隐层第二层的某些特定神经元的激励值就会接近 1 而我要的并不是单单适用这种圆圈, 而是更广泛的各种圆圈皆适用 如此,在隐层第二层到输出层的神经元
在这里插入图片描述

只需要学习对应于数字的笔画的组合 当然这又丢出了一道难题 因为你怎么让那些神经元知道那些数字该对应到那些特定的笔画? 而我甚至还没开始讲上一层怎么影响下一层,但是再听我解释一下这里 辨识一个圆圈的问题也可以分解成辨识一些较小零件的问题 一个合理的方法是认出组成它的各式各样的边 同样的道理,你在数字1,4或者7中所看到的一条长线真的就是好几小条的短线,根据特定笔画顺序,组合成的长线 所以我们期望在这网络第二层

在这里插入图片描述

对应着各式各样的一些小边 也许出现一个像这样的一个图像就点亮 所有大约有 8 到 10 种有关的特定神经元 它接着点亮后上方的圆圈和一根垂直的长线以及点亮和一条线相联的神经元 最后点亮数字 9 的神经元 不管这个是不是我们最终的网络实际上的实施是另一个问题 这个我们在知道怎样了训练网络之后我在回过来讲 但至少我们可能有点希望 像是一种以这样分层结构为目标的
在这里插入图片描述

你可以进一步想象怎样能来检测像这样的边和式样对其他的图像识别功能真是有用的

在这里插入图片描述

参考

https://youtu.be/aircAruvnKk?si=vvJtlByXpXaDHj7y

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

懂个锤子Vue 项目工程化扩展:

Vue项目工程化扩展📶: 前言:当然既然学习框架的了,HTMLCSSJS三件套必须的就不说了: JavaScript 快速入门 紧跟前文,目标学习Vue2.0——3.0: 懂个锤子Vue、WebPack5.0、WebPack高级进阶 涉及的…

WEB前端开发中如何实现大文件上传?

大文件上传是个非常普遍的场景,在面试中也会经常被问到,大文件上传的实现思路和流程。在日常开发中,无论是云存储、视频分享平台还是企业级应用,大文件上传都是用户与服务器之间交互的重要环节。随着现代网络应用的日益复杂化&…

康师傅JAVA核心内容

链接:康师傅JAVA核心内容 (qq.com)

黑龙江等保测评如何做到既全面又高效?

在黑龙江省进行等保测评,必须在全面和高效之间寻求一个平衡点,以保证网络的安全性和可靠性。黑龙江等保测评怎样才能在二者之间发现黄金交汇点?下面,我们来揭开谜底。 精准定位,明确测评范围 首先,一个综…

Docker与LXC差异以及相关命令

容器:Docker与LXC差异以及相关命令 ​ LXC与Docker对比,LXC只实现了进程沙盒化,不支持在不同的机器上进行移植;Docker将应用的所有配置和环境进行了抽象,打包到一个容器中,此容器可以在任何安装了docker的…

vscode搭建rust开发环境

由于rustrover不是免费的,此处教学搭建一套基于vscode的rust开发环境,可运行,可调式 1.下载vscode1.91.1 Download Visual Studio Code - Mac, Linux, Windows 2.下载插件 打开网站下载插件 rust-analyzer-0.4.2049、vscode-lldb-1.10.0、…

IDEA项目的依赖(pom.xml文件)导入问题及解决

前言:该文章为转载,没有仔细的看 IDEA新建项目和pom.xml文件被修改时,右下角都会出现 Maven projects need to be imported(项目需要导入依赖) 如下,点击 Import Changes导入后,有时会一直处于…

NAS、SAN 与 DAS 的比较与应用场景

文章目录 1. NAS(网络附加存储)定义特点实现成本:适用场景 2. SAN(存储区域网络)定义特点实现成本:适用场景 3. DAS(直接附加存储)定义特点实现成本:适用场景 区别总结结…

Redis学习[1] ——基本概念和数据类型

Redis学习[1] ——基本概念和数据类型 一、Redis基础概念 1.1 Redis是什么,有什么特点? Redis是一个基于**内存的数据库,因此读写速度非常快**,常用作缓存、消息队列、分布式锁和键值存储数据库。支持多种数据结构:…

Java 内推 | 教育行业缺口来了,研发,运维,产品,教研,职能,营销... 别错过

Java 内推 | 教育行业缺口来了,研发,运维,产品,教研,职能,营销… 别错过 岗位职责: 1、根据公司战略及业务规划,参与部门业务架构分析与设计,包含规划立足当前、面向未来的应用架构…

源码编译安装,及nginx服务控制、监控块

1.源码编译安装: [root17dns ~]# wget https://nginx.org/download/nginx-1.27.0.tar.gz 2.解压: [root17dns ~]# tar -zxvf nginx-1.27.0.tar.gz 3.安装gcc等工具 [root17dns ~]# yum -y install gcc gcc-c [root17dns ~]# yum -y install make lrzsz …

postman给全部接口添加请求头数据(如token)

如果给没有一个接口添加请求头token就太慢了,如下图。可以点击所有接口的所属的目录。点击“Scripts”,点击Pre-request按钮。加入代码: pm.request.addHeader("Authorization:eyJhbGciOiJIUzI1NiIsInR5cCI111pXVCJ9.eyJjbGFpbXMiOnsiaW…

小红书笔记评论采集全攻略:三种高效方法教你批量导出

摘要: 本文将深入探讨如何利用Python高效采集小红书平台上的笔记评论,通过三种实战策略,手把手教你实现批量数据导出。无论是市场分析、竞品监测还是用户反馈收集,这些技巧都将为你解锁新效率。 一、引言:小红书数据…

项目实战_表白墙(简易版)

你能学到什么 一个比较简单的项目:表白墙(简易版),浏览器:谷歌升级版将在下个博客发布 效果如下 正文 说明 我们是从0开始一步一步做这个项目的,里面的各种问题,我也会以第一人称视角来解…

yolov10在地平线旭日X3派上的部署和测试(Python版本和C++版本)

0、搭建开发环境 当前的测试根据一下的步骤并修改源码是可以实现yolov8的板端运行,如果不想再搭建环境和测试代码bug上浪费更多的时间可以直接获取本人的测试虚拟机,所有的测试代码、虚拟环境和板端测试工程以全部打包到了虚拟机,需要的可以…

OpenBayes 教程上新 | 文生图、图生图、图像修复三合一神器, HiDiffusion 一键启动教程现已上线!

扩散模型已成为高分辨率图像合成的主流方法,传统的扩散模型虽然在图像合成方面取得了显著进展,但在扩展到更高分辨率时往往面临对象重复和计算成本增加的问题。 旷世科技开源的高分辨率框架 HiDiffusion,由分辨率感知 U-Net (RAU-Net) 和改进…

求最大公约数与最小公倍数(C语言 简洁快速版)

求最大公约数 辗转相除法(首选,因为简单快捷) 思路: 1.将两整数求余 a%b c 2.如果c 0;则b为最大公约数 3.如果c ! 0,则 a b;b c;继续从1开始执行 4.也就是说该循环的是否继续的判断条件就是c是否为0 …

3.4、图

图的介绍 图也是一种非线性结构,图中任意两个节点间都可能有直接关系。相关定义如下: 无向图:图的结点之间连接线是没有箭头的,不分方向。 有向图:图的结点之间连接线是箭头,区分A到B,和B到A是两条线。 …

Codeforces 962 div3 A-F

A 题目分析 签到 C代码 #include<iostream> using namespace std; int main(){int t;cin>>t;while(t--){int n;cin>>n;cout<<n/4n%4/2<<endl;} } B 题目分析 将n*n的方格分成若干个k*k的方格&#xff0c;每个k*k的方格中所有的数都相同 遍历…