当前位置: 首页 > news >正文

深度学习基础(一)

记得17年第一次阅读深度学习相关文献及代码觉得不是很顺畅,做客户端开发时间久了,思维惯性往往觉得比较迷茫。

而且文章中涉及的数学公式及各种符号又觉得很迷惑,虽然文章读下来了,代码也调试过了,意识里并没有轻松的感觉,隔段时间再看,脑子里又是空空如也。

其实目前来看,深度学习的底层逻辑很简单,只是当时完全迷失在了数学逻辑的符号,公式推导,及代码对应层面,对于神经网络学习的精髓并未完全把握。

我尝试着就自己的理解,极简化其中的数学逻辑,阐述最简单的神经网络学习模型具体原理,不会涉及什么Tensorflow,卷积神经网络这些经常听到的概念,就是很朴素的语言。

可以参考 Michael Nielsen 的经典文章 Neural Networks and Deep Learning

神经网络 - Hello Wrold

具体神经网络缘由介绍很多,此处就不冗余跳过,从一个最简单的问题开始

在这里插入图片描述

上面的手写数字,计算机如何识别 就是神经网络中的 Hello World

在这里插入图片描述

比如手写体数字 3, 如何识别出 罗马数字3

解决输入问题

抽象

先把这个Hello World看做一个黑盒,输入就是一个手写体的数,也就是一张图

在这里插入图片描述

我们把 上图中的 圈计为一个神经元,圈中标注 0 ~ 1 范围的数字,表明神经元被激活的强度

在这里插入图片描述
手写体数字9 就被划分为 28*28 个小单元,也就是784个神经元

在这里插入图片描述

每个神经元中标注的数字,就是图中对应像素的灰度值

可以理解为相应位置的神经元被激活的强度

0表示纯黑像素,1表示纯白像素

激活强度,暂时命个名 - Activation (激活值)

变换

把这784个神经元经过以下变换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其中,中间的两层暂时当做大黑盒,黑盒里面就进行着处理识别数字的具体工作

最左边的一层 784 个神经元

最右边的一层神经元,激活值也为 0~1,表明输入的图像 是具体某一个罗马数字的可能性

至于中间为啥两层,每层16个神经元,可以认为就这么着,重在理解模型为主

最终构成了一个神经网络,这个网络包含了 784+16+16+10 个神经元

网络认知

我们认知手写数字的逻辑可能是这样的

在这里插入图片描述

数字整体拆分成 几个大的部分

在这里插入图片描述
在这里插入图片描述

每个部分进一步拆分成小一点的笔画

在这里插入图片描述

中间一层 对应着 拆分的较大的部分

较右边的一层 对应着 笔画部分

神经元 - 神经元

那么,如何拆分部件,怎么拆分才是正确的呢,而且输入图像,也就是784个神经元 与 网络中间的黑盒又是如何工作的?

就着这个网络,可能我们直观的逻辑就是希望这样

在这里插入图片描述

比如,手写体数字7 中的 水平一部分,中间较粗明亮的水平部分,如何提取出来

在这里插入图片描述

为了简单,拆分的大组件 用一个神经元表示

在这里插入图片描述

其中 横 组件边缘较 暗的部分,也就是 输入层横 边缘激活值较低的神经元, 对第二层 对应 横组件的 那个神经元 作用就弱,具体表现就是 第一层的神经元连过来的线就弱一些

第一层其余的神经元(跟横无关的神经元) 此刻 练过来的线 甚至可能看不见,影响微乎其微

w表示 - 神经元之间的连线强弱

a表示 - 神经元的激活值

此时,这个装着 横 的神经元的激活值 就是 w1a1 + w2a2 + … + w784*a784

在这里插入图片描述

前面说过,每个神经元的激活值 在 0~1之间

但此时 得到的这个 代表 横 的神经元的激活值 可能为任意值,并不在0~1之间

为了让 激活值 能继续 收敛在 0~1之间,用到Sigmoid 函数

在这里插入图片描述

这个 装着 横 的神经元 并不能随便激发,必须有个门槛,过门槛才能激发,比如这个门槛为1,才能激发

在这里插入图片描述

Sigmoid(w1a1 + w2a2 + … + w784*a784 - 1), 正好对应 超过上图中的 标注点,神经元激发

最终 Sigmoid(w1a1 + w2a2 + … + w784*a784 + bias), bias 就是 上面的 -1

抽象网络关系

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这是线性代数中的矩阵 相乘

整个网络中 包含的

开关变量总数:78416 + 1616 + 1610 + 162 + 10 = 13002

也就是 总权重开关:78416 + 1616 + 16*10 = 12960

总bias开关:16*2 + 10 = 42

接下来就是 这 13000 个开关变量 的设置问题了,可以认为 这个黑盒函数 有 13000 个变量,要对这13000个变量求解,得到一个完全函数,然后使用这个函数 就可以得到 识别结果了

求解的过程就是 学习的过程

未完,待续 深度学习基础(二)-梯度下降

相关文章:

深度学习基础(一)

记得17年第一次阅读深度学习相关文献及代码觉得不是很顺畅,做客户端开发时间久了,思维惯性往往觉得比较迷茫。 而且文章中涉及的数学公式及各种符号又觉得很迷惑,虽然文章读下来了,代码也调试过了,意识里并没有轻松的…...

Maven 常用命令

mvn archetype: create :创建Maven 项目mvn compile :编译源代码。mvn deploy:发布项目。mvn test-compile :编译测试源代码mvn test:运行应用程序中的单元测试mvn site:生成项目相关信息的网站mvn clean:清除项目目录中的生成结果mvn package:根据项目生成的iar/war等mvn inst…...

2023年100道最新Android面试题,常见面试题及答案汇总

除了需要掌握牢固的专业技术之外,还需要刷更多的面试去在众多的面试者中杀出重围。小编特意整理了100道Android面试题,送给大家,希望大家都能顺利通过面试,拿下高薪。赶紧拿去吧~~文末有答案Q1.组件化和arouter原理Q2.自定义view&…...

[JavaEE系列] 详解面试中HTTP协议HTTPS协议

文章目录HTTP不安全HTTPS中的加密算法对称加密非对称加密混合加密HTTPS中的摘要算法HTTPS中的数字证书SSL /TLS握手TCP建立连接(三次握手)三次握手中常见的面试题:TCP断开连接(四次挥手)四次挥手中常见的面试题&#x…...

mac 好用的类似Xshell工具

下载royal TSX 5.1.1 http://share.uleshi.com/f/9490615-685692355-33bf1e修改mac的etc/hosts文件权限访达(鼠标右键) -> 前往文件夹 ->输入/private --> 打开etc/hosts --> 显示简洁(鼠标右键) --> 权限改成读和写hosts文件写入如下内容:# Royal T…...

浅谈SQL中的union和union all

文章目录概念基础语法使用技巧区别总结概念 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 UNION 操作符选取不同的值,如果允许得到重复的值,可以使用 UNION ALL 基础语法 -- u…...

P6软件应用的核心收益

卷首语 提供了多用户、多项目的功能模块,支持多层次项目等级划分,资源分配计划,记录实际数据,自定义视图,并具有用户定义字段的扩展功能。 利用最佳实践,建立企业模板库 P6软件支持用户使用模板编制项目…...

性能测试中,我遇到的8个常见问题总结

性能压测中我们需要明白以下几点: 1、好的开始是成功的一半,前期的准备非常重要; 2、过程中,关注每个细节,多个维度监控; 3、在调优中多积累经验; 4、对结果负责,测试报告要清晰…...

kafka架构体系

Kafka简介 Kafka是一个由Scala和Java编写的企业级的消息发布和订阅系统,最早是由Linkedin公司开发,最终开源到Apache软件基金会的项目。Kafka是一个分布式的,支持分区的,多副本的和多订阅者的高吞吐量的消息系统,被广…...

【Kafka】三.Kafka怎么保证高可用 学习总结

Kafka 的副本机制 Kafka 的高可用实现主要依赖副本机制。 Broker 和 Partition 的关系 在分析副本机制之前,先来看一下 Broker 和 Partition 之间的关系。Broker 在英文中是代理、经纪人的意思,对应到 Kafka 集群中,是一个 Kafka 服务器节…...

Python学习笔记7:再谈抽象

再谈抽象 对象 多态 即便你不知道变量指向的是哪种对象,也能够对其执行操作封装 向外部隐藏不必要的细节。继承 类 class Person: def set_name(self, name): self.name name def get_name(self): return self.name def greet(self): print("Hello, world…...

钣金行业mes解决方案,缩短产品在制周期

钣金加工行业具有多品种、小批量离散制造行业的典型特点。一些常见的下料车间、备料车间、冲压车间、冲剪生产线等。一般来说,核心业务是钣金加工的生产单位。 一般来说,与大规模生产相比,这种生产方式效率低、成本高,自动化难度…...

【Linux】——git和gdb的简单使用技巧

目录 1.\r&&\n 2.缓冲区 3.做一个Linux的小程序——进度条 1.makefile代码: 2.proc.h代码 3.proc.c代码 4.main.c代码 4.git(上传做好的小程序) 5.Linux调试器-gdb使用 1.\r&&\n 在Linux中,可以将\r看成…...

Fiddler的简单使用

目录 1.断点应用 2.网络限速测试 2.1.为什么需要弱网测试 2.2.Fiddler弱网测试配置 1.断点应用 通过断点功能,可以在测试时方便的篡改request,response以达到测试的目的,如果:在请求头中的参数修改成错误的,或在响应…...

MySql 事务

概述 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 注意: 默认MySQL的事务是自动提交的,也就是…...

微信社区小程序/h5/圈子论坛贴吧交友/博客/社交/陌生人社交/宠物/话题/私域/同城交友

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 小程序/app/H5多端圈子社区论坛系统,交友/博客/社交/陌生人社交,即时聊天,私域话题,社区论坛圈子,信息引流小程序源码,广场/微校园/微小区/微同城/ 圈子论坛社区系统,含完整…...

Python os和sys模块

一、os模块 os 模块是 Python中的一个内置模块,也是 Python中整理文件和目录最为常用的模块。 该模块提供了非常丰富的方法用来处理文件和目录。比如:显示当前目录下所有文件/删除某个文件/获取文件大小 1、获取当前的工作路径 在 Python 中&#xff0…...

JS中数组如何去重(ES6新增的Set集合类型)+经典two sum面试题

现在有这么一个重复数组:const arr [a,a,b,a,b,c]只推荐简单高效的方法,复杂繁琐的方法不做推荐方法一:const res [...new Set(arr)]Set类型是什么呢?Set 是ES6新增的一种新集合类型。具体知识点可以看下面附录:根据…...

HDLC简介及相应hdlc实训

HDLC简介 HDLC 协议 高级数据链路控制(HDLC,High-level Data Link Control)是一种面向比特的链路层协议, 其最大特点是对任何一种比特流,均可以实现透明的传输。HDLC协议具有以下优点。 透明传输:HDLC不…...

公司技术团队为什么选择使用 YApi 作为 Api 管理平台?

在 2021 年 12 月份的时候我就推荐过一款软件程序员软件推荐:Apifox,当时体验了一下里面的功能确实很实用,但是当时公司有一套自己的 API 管理方案,所有 Apifox 暂时就没在内部使用。 直到最近要使用其他的 API 管理方案的时候才…...

XposedRimetHelper:突破地理限制的系统级定位解决方案

XposedRimetHelper:突破地理限制的系统级定位解决方案 【免费下载链接】XposedRimetHelper Xposed 钉钉辅助模块,暂时实现模拟位置。 项目地址: https://gitcode.com/gh_mirrors/xp/XposedRimetHelper 一、移动办公的地理枷锁:企业考勤…...

大麦智能抢票系统:告别手速极限的终极解决方案

大麦智能抢票系统:告别手速极限的终极解决方案 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票而烦恼吗&…...

Qwen3.5-2B部署实战:端侧轻量化多模态模型一键镜像教程

Qwen3.5-2B部署实战:端侧轻量化多模态模型一键镜像教程 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为低功耗、低门槛部署场景设计,特别适合端侧…...

Discord社群运营神器:用AI自动回复提升活跃度的完整指南

Discord社群运营神器:用AI自动回复提升活跃度的完整指南 在数字社交时代,Discord已经从一个游戏语音工具成长为全球最受欢迎的社群平台之一。无论是Web3项目、开源社区还是兴趣小组,Discord都成为了连接成员的核心枢纽。但作为社群运营者&…...

网络基础知识整理(精简通用版)20260331-001篇

文章目录 网络基础知识整理(精简通用版) 一、网络基本概念 二、网络拓扑结构 三、OSI 七层模型(核心参考) 四、TCP/IP 模型(实际互联网标准) 五、IP 地址基础 六、传输层协议(TCP vs UDP) TCP(传输控制协议) UDP(用户数据报协议) 七、常见网络协议与端口 八、网络设…...

5分钟搞定AutoHotkey脚本转EXE:Ahk2Exe终极编译指南

5分钟搞定AutoHotkey脚本转EXE:Ahk2Exe终极编译指南 【免费下载链接】Ahk2Exe Official AutoHotkey script compiler - written itself in AutoHotkey 项目地址: https://gitcode.com/gh_mirrors/ah/Ahk2Exe 想要将AutoHotkey脚本快速转换为独立的可执行文件…...

实战指南:在快马平台用trae构建电商购物车状态管理系统

今天想和大家分享一个实战项目:用trae在电商场景下构建购物车状态管理系统。这个方案特别适合需要清晰数据流的中小型项目,比如电商平台、管理后台等。下面我会详细拆解整个实现过程,希望能给有类似需求的同学一些参考。 项目结构设计 首先…...

系统架构设计师常见高频考点总结之数据库

1. 局部数据库缓存1.1. 如何避免单点故障?(高可用设计)只要题目提到“避免单点故障”或“高可靠性”,标准答案只有一套组合拳:冗余(Redundancy):一台不够就两台。热备(Ho…...

太原烘焙培训排名

在太原选择烘焙培训机构时,许多朋友会关注不同机构的教学质量与特色。以下整理了一些选择时可以考虑的方面,供您参考。教学方式与内容部分机构采用以实操为主的教学模式,例如山西旭梦圆食品有限公司的课程安排中,实践操作占较大比…...

阿里语音识别模型WebUI实战:一键部署,会议录音秒变文字稿

阿里语音识别模型WebUI实战:一键部署,会议录音秒变文字稿 1. 引言:语音转文字的高效解决方案 在日常工作中,会议录音转文字是一项耗时又枯燥的任务。传统的人工听写方式不仅效率低下,还容易出错。现在,借…...