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

news2024/9/17 7:29:44

在这里插入图片描述

这是一个随意书写的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.coloradmin.cn/o/1958771.html

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

相关文章

什么情况?我代码没了

前两天检视代码时,发现PR里面有两个提交的描述信息一模一样,于是我提出应该将这两个提交合并成一个,保持提交树的清晰。 1 先储存起来! 而同事这时正在开发别的特性,工作区不是干净的,没法直接执行 git r…

c程序杂谈系列(职责链模式与if_else)

从处理器的角度来说,条件分支会导致指令流水线的中断,所以控制语句需要严格保存状态,因为处理器是很难直接进行逻辑判断的,有可能它会执行一段时间,发现出错后再返回,也有可能通过延时等手段完成控制流的正…

python生成二维码指向说明书

python生成二维码转向文档 python生成二维码指向说明书 import qrcode# 生成包含本地文档路径的二维码 def generate_qrcode(local_file_path):qr qrcode.QRCode(version1,error_correctionqrcode.constants.ERROR_CORRECT_L,box_size10,border4,)qr.add_data(local_file_pa…

为什么要做边界值测试?

边界值测试的理解 边界值测试(Boundary Value Testing)是一种常用的软件测试方法,它侧重于测试输入值的边缘或临界条件。这些边缘条件通常包括最小值、最大值以及接近这些最小值和最大值的值。边界值测试的基本思想是,许多软件错…

微信支付API列表

接入前准备 更新时间:2023.08.24 在正式接入微信支付App服务前,你需要进行以下准备步骤: 选择接入模式:普通商户或普通服务商申请参数:AppID、商户号App支付页面规范 #选择接入模式 商户需要判断自己公司注册区域…

SuperMap GIS基础产品FAQ集锦(20240729)

一、SuperMap iDesktopX 问题1:您好,想请教一下,白模可以调整颜色吗 11.2.0 【解决办法】 右键白模图层,制作单值专题图,即可调整白模颜色。 问题2:这边有份矢量数据,导入到桌面里面要放很大…

Node.js + Axios 上传附件到 Gitee 仓库指定 Release

在软件开发过程中,自动化发布流程是提升效率的关键环节之一。本文将介绍如何使用 Node.js 和 Axios 库来自动化地向 Gitee 仓库的最新版本中上传发布包。通过读取项目中的 package.json 文件,获取版本信息,并自动将构建好的包文件上传到 Gite…

我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱”

大家好,我是程序员鱼皮。前段时间我们上线了一个新软件 剪切助手 ,并且针对该项目做了一个官网: 很多同学表示官网很好看,还好奇是怎么做的,其实这个网站的背后还有个有趣的小故事。。。 鱼皮:我们要做个官…

【gofar远为门锁】酒店智能门锁源码 对接收银CyberWinApp-SAAS本地化-未来之窗行业应用跨平台架构

通过写房卡按钮写房卡 一、查看门锁读卡器信息 二、玄武星辰查到对应名称 如何知道自己家门锁的app,使用未来之窗【玄武芯辰】查询 通过上面我看出叫做gofar 在【玄武芯辰】输入gofar,人工智能会提示app信息 三、设置门锁控制app 在上一步找到app&a…

web服务器配置-(apache+nginx)

⼀、web基本概念和常识 Web:为⽤户提供的⼀种在互联⽹上浏览信息的服务,Web 服务是动态的、可交互的、跨平台的和图形化的。 Web 服务为⽤户提供各种互联⽹服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊…

LinuxCentos中安装apache网站服务详细教程

🏡作者主页:点击! 🐧Linux基础知识(初学):点击! 🐧Linux高级管理防护和群集专栏:点击! 🔐Linux中firewalld防火墙:点击! ⏰️创作…

【Opencv】色彩空间 color space

import os import cv2 img cv2.imread(os.path.join(.,dog.jpg)) # 在opencv中使用imread,读取的图片每个像素都是bgr色彩,蓝色,绿色,红色 cv2.imshow(img,img) cv2.waitKey(0) # 颜色空间转化:BGR2RGB img_rgb cv2.cvtC…

爱快路由的dns强制客户端代理真是个强大的功能

大致情况是这样的:同事说在linux服务器/etc/resolv.conf上随便写个IP地址【不在线的】,dns地址也能解析,让我帮忙查查。 我看了下也感觉纳闷,试了下不光在服务器上,我本地的pc随便设置了个dns解析也是一样的。 通过wir…

【黄啊码】零代码动手创建ModelScope Agent

还没开始学习,先来回复一下,什么是Agent Agent包含的模块 好了,开始发放干货: 1、创建通义千问API (新注册用户有一定的限时免费额度) 2、登录阿里云账号,打开 DashScope管理控制台,开通 DashScope灵积模…

C#网络连接:TCP/IP模式下的网络连接与同步

1&#xff0c;目的 为了测试局域网的消息同步&#xff0c;简单写了下TCP/IP模式的同步&#xff0c;参考这个帖子。 2&#xff0c;核心库部分 using System; using System.Net; using System.Net.Sockets; using System.Text;namespace Coldairarrow.Util.Sockets {/// <s…

【React】useEffect 钩子详解

文章目录 一、useEffect 概念二、useEffect 的基本用法1. 无依赖项2. 空依赖项数组3. 带依赖项的 useEffect 三、useEffect 的常见应用场景1. 数据获取2. 订阅与清除3. 动画与定时器 四、useEffect 的进阶用法1. 多个 useEffect2. 条件执行副作用 五、注意事项 useEffect 是 Re…

playbooks 分布式部署 LNMP

1、环境配置 ansible 服务器 192.168.10.10nginx 服务器 192.168.10.20mysql 服务器 192.168.10.21php 服务器 192.168.10.22 2、安装 ansble #192.168.10.10节点 yum install -y epel-release #先安装 epel 源 yum install -y ansible配置主机清单 …

Vue 动态改变css文件

theme: smartblue 一、背景需求 现有 Vue3 项目&#xff0c;要求点击按钮后&#xff0c;会动态加载css文件内容 二、实现过程 2.1 相关代码 假设有 blue.css 和 red.css,要求点击加载对应文件 若想切换为原版样式&#xff0c;点击 back 回退到初始样式 this is a simple text …

76.SAP ME - 归档

目录 1.归档 2.系统设置维护 3.后台处理执行 1.归档 可使用此功能将某一特定已完成产品的相关记录从活动的“在制品”(WIP) 数据库移动到归档数据库&#xff0c;这样可改进生产记录的检索。在一段时间内&#xff0c;WIP 数据库中的记录数量将增加。当系统在大量记录中进行搜…

c++ 内存管理(newdeletedelete[])

因为在c里面新增了类&#xff0c;所以我们在有时候会用malloc来创建类&#xff0c;但是这种创建只是单纯的开辟空间&#xff0c;没有什么默认构造的。同时free也是free的表面&#xff0c;如果类里面带有指针指向堆区的成员变量就会free不干净。 所以我们c增加了new delete和de…