什么是 CNN?Facebook 员工写给小白的机器学习入门贴彻底火了!

QCC5125/QCC5144----LDAC 44.1K 48K 96K 192K 输出 QCC5125/QCC5144----LDAC 44.1K 48K 96K 192K 输出。而且还不需要license限制。 阅读详情

本文仅供学习参考,如有侵权,请联系删除

白交 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

看你是人还是物,是猫还是狗。

卷积神经网络(CNN)最重要的用途就是图像分类。说起来,似乎很简单。

为什么不使用普通的神经网络呢?

那是因为在图像分类时,面临着图像大,物体的形态、位置不同等问题,这就给普通的神经网络带来了难题。

而,卷积神经网络就是来解决这个问题。

Facebook软件工程师Victor Zhou这篇入门贴,就介绍了什么是卷积神经网络。

截至目前,已经有47k访问量了。

已经对神经网络有所了解的同学,一起来看看吧。

MNIST手写数字分类

首先,就以MNIST手写数字分类为例,这就是MNIST数据集的样本。

很简单,就是识别图像,然后将其分类为数字。

MNIST数据集中的每个图像均为28×28,我们看到,都是居中的灰度数字。

正常的神经网络其实就可以解决这个问题,首先将每张图像视为28×28=784维向量,将784维送到一个784维的输入层,堆叠几个隐藏层,然后用10个节点的输出层来完成,每个数字1个节点。

但这些数字居中,且图像较小,所以也就没有尺寸大、位置偏移的问题。但是我们知道实际生活中,情况并非如此。

好了,有了一个基本的了解之后,我们就进入了这个卷积神经网络的世界吧。

什么是卷积神经网络?

顾名思义,卷积神经网络就是基本上只是由卷积层组成的神经网络,卷积层是基于卷积的数学运算。

而卷积层是由一组滤波器组成,你可以将其视为二维矩阵的数字。比如,这是一个3×3滤波器。

  

将输入图像与滤波器结合卷积生成图像,这其中包括:

  1. 将滤波器叠加在图像的某个位置上。

  2. 在滤波器中的值和图像中的相应值之间进行元素乘法。

  3. 将所有元素的乘积相加。这个和就是输出图像中的目标像素的输出值

  4. 对所有位置重复进行。

这样说,可能有些抽象看不太懂。没关系,例子这就来了。

我们以一个微小的4×4灰度图像和一个3×3的滤波器为例。

图像中的数字就是我们日常见到的像素强度,其中0为黑色,255为白色,我们的输出设置成为、一个2×2的输出图像。

首先,将我们的滤波器叠加到图像的左上位置。

接着,将两个值(图像值和滤波器值)进行逐元素相乘。得到了如下的表格:

得出结果62-33=29。

以此类推,就可以得到2×2图像的数值。

卷积有什么用?

我们先把卷积的用途放一下,来看图。

这不就是刚刚3×3的滤波器吗?其实它还有一个专业的名字——垂直Sobel滤波器,对应的还有一个水平Sobel滤波器,就是中间横着的一行数字为0。

其实,Sobel滤波器是边缘检测器,垂直Sobel滤波器是检测垂直边缘,而水平Sobel是检测水平边缘。

这么说,可能不太明显。我们来看图。

是不是有点感觉了。

试想,如果两个滤波器都是用了,卷积是不是就能抓住图像的边缘特征了。

输出图像中的亮像素说明了原始图像的周围又很强的边缘。

这样一来,卷积就可以帮助我们寻找特定的局部图像特征,比如边缘。

填充

通常来说,我们其实都希望输出图像能够跟原始图像的大小相同。但在上面的示例中,我们是以4×4图像为输入,以2×2图像为输出,那应该怎么解决这个问题呢?

填充。这时候就要谈到0的妙用了。

就是要在图像周围添加一圈“0”,而滤波器则也需要填充1个像素。

这样,输出跟输入的图像具有相同的尺寸,叫做相同填充。

卷积层

卷积层就包含了上述的一组滤波器,卷积层的主要参数就是滤波器的数量。

对于MNIST CNN,如果使用带有8个滤波器的小型卷积层,那么输入为28×28,输出结果就变成了26×26×8 。

(因为是有效填充,它将输入的高度和宽度将减少2)

池化层

图像中的相邻i像素往往都有相似的值,而经过卷积层也就能在相邻像素中产生了相似的值。这样就会导致卷积层输出的很多信息都是多余的。

就如上述的负责边缘检测的滤波器,它能够在某个位置上找到较强的边缘,但是从很可能在其相邻的一个像素也能找到较强的边缘,这样就造成了两个相同的边缘同时存在。

这样的话,就造成了信息的冗余,不会发现新的信息。

池化就解决了这个问题。池化,就是通过将输入中的值集中在一起,减少输入的大小。

通常,是通过一个简单的操作来完成的,比如取max、min或平均值。

下面是一个最大池化层的例子,池化大小为2的最大池化层。为了执行最大池化,以2×2块遍历输入图像,并将最大值放入对应像素的输出图像中。

池化将输入的宽度和高度除以池大小。

比如,对于我们的MNIST CNN,我们将在初始转换层之后立即放置一个池大小为2的最大池化层。池化层会将26x26x8输入转换为13x13x8输出。

softmax层

实际上,最终完成CNN,还需要赋予其预测的能力。

那么,将通过使用多类分类问题的标准最终层:Softmax层,这是一个完全连接(密集)的层,它使用Softmax函数作为其激活的全连接(密集)层。

什么是Softmax函数?

给定一些数字,Softmax函数就能将任意数字转化为概率。

比如,我们选定数字 -1、0、3和5。

首先,我们需要计算e的指定数字次方,然后将其所有结果相加,当作分母。       

最后,e的指定数字次方的值就作为分子,由此计算可能性。

而以MNIST CNN为例,将使用带有10个节点的softmax层作为CNN的最后一层,每个数字代表一个数字。层中的每个节点将连接到每个输入。

应用softmax变换后,由节点表示的概率最高的数字将是CNN的输出了。

好了,介绍了这么多。是不是能够很好的理解卷积神经网络了呢?

可以私戳下方链接了解更多哦~

传送门:

https://victorzhou.com/blog/intro-to-cnns-part-1/

https://victorzhou.com/blog/softmax/

Diffusion models代码实战:从零搭建自己的扩散模型 这个系列曾经写过三篇文章专门讲代码,分别从数据集、超参数、loss设计、参数计算、Unet结构、正向过程、逆向过程等部分详细介绍了如何搭建DDPM。Diffusion models领域发展神速,最近半年代表作品有OpenAI的GLIDE、DALL-E 2,Google Brain的ImageGen,海森堡大学的Latent Diffusion。这篇博客针对入门新手讲解一下如何利用已有的资源快速搭建自己的Diffusion models。......... 阅读详情

相关推荐

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 883

什么是CNN?写给小白的机器学习入门贴,Facebook员工打造,47k访问量

白交 发自 凹非寺量子位 报道 | 公众号 QbitAI看你是人还是物,是猫还是狗。卷积神经网络(CNN)最重要的用途就是图像分类。说起来,似乎很简单。为什么不使用普通的神经网络呢?那...

量子位 398

VMware ubuntu虚拟机(或Centos7)与主机共享文件夹

系统环境 Windows 10 Vmware Workstation 15 Pro Ubuntu 20.04.1 LTS centos7 1.Ubuntu配置共享文件 1.1安装VMware-tools 更新最新VMware-tools组件 编辑->首选项->更新->立即下载所有组件 安装VMware-tools 虚拟机->安装VMware-tools 安装后ubuntu会加载一个虚拟光驱,解压文件,在解压的文件目录下执行以下命令进行安装 sudo vmware-instal

weixin_38924500的博客 2160

基于1DCNN的单特征输入股票涨跌的二分类预测项目实战(pytorch)(单特征)【小白可做,有数据集和代码,可运行】——仅用于课程和编程学习,不作为任何投资推荐!!!!

本项目是基于PyTorch深度学习框架使用一个三层的一维卷积神经网络,实现股票未来一天涨跌的二分类任务。网络的输入是历史股票收盘价(单特征),输出是下一天是否涨跌(输出1为涨,0为跌)。【本项目的代码文件分模块整理,包含模型构建、数据划分、训练过程等模块都清晰分明】【本项目的代码文件分模块整理,包含模型构建、训练过程、绘图等模块都清晰分明】。

weixin_44829487的博客 1629

MagicDraw-需求图

MagicDraw学习笔记

木头征的博客 4138

STM32驱动HC-SR04超声波模块

本篇文章将带大家使用HAL库驱动HC-SR04超声波模块。超声波模块作为智能小车必备的模块,要学习智能小车的同学是必须掌握好这个模块的使用的。HC-SR04是一种常用的超声波传感器模块,也被称为超声波测距模块,广泛应用于各种自动化控制和测距系统中。它通常由超声波发射器、接收器、控制电路和外壳组成,可以实现非接触式的距离测量。下面是HC-SR04超声波模块的一些特性和技术参数:距离测量范围:2cm ~ 400cm(可调)。测量精度:0.3cm。工作电压:DC 5V。工作电流:15mA。

m0_49476241的博客 7689

基于1DCNN(一维卷积神经网络)的目标识别

基于深度学习对故障种类的识别,也就是目标检测和识别的一种

azhiyou的博客 9565

使用Python的OpenCV库进行三维重建点云

通过这些步骤,我们可以使用Python的OpenCV库进行三维重建,并生成对应的点云。当然,这只是一个简单的示例,实际的三维重建可能涉及更多的图像处理和计算步骤。在计算机视觉领域,三维重建是一项重要的任务,它可以将多个二维图像或视频序列转换为三维场景模型。在本文中,我们将介绍如何使用Python的OpenCV库进行三维重建,并生成相应的点云。以上是使用Python的OpenCV库进行三维重建点云的简要介绍和示例代码。最后,我们可以将计算得到的三维点云可视化。安装完成后,我们可以开始编写代码。

AuSwift的博客 1646

CNN卷积神经网络

CNN,全称为卷积神经网络(Convolutional Neural Network),是一种用于处理具有网格结构数据(如图像、视频和音频)的前馈神经网络。它是深度学习领域中最常用的模型之一,尤其适用于计算机视觉任务。

TGYAO的博客 5899

Nvidia Jetson 编解码开发(3)解决H265解码报错“PPS id out of range”

基于之前的开发程序通过Jetson Xavier NX 硬编码的H265发出后,上位机断点播放发出来的H265码流,会报“PPS id out of range” 错误。

jzwjzw19900922的博客 3812

UG\NX二次开发 找不到指定的dlx文件(Specified Dlx file not found)

有群友问:用Ctrl+U运行的时候就报错,找不到指定的dlx文件Specified Dlx file not found。怎么处理。

王牌飞行员_里海的博客 1131

卷积神经网络(CNN)超详细介绍

文章转自:https://blog.youkuaiyun.com/jiaoyangwm/article/details/80011656 文章目录 1、卷积神经网络的概念2、 发展过程3、如何利用CNN实现图像识别的任务4、CNN的特征5、CNN的求解6、卷积神经网络注意事项7、CNN发展综合介绍8、LeNet-5结构分析9、AlexNet10、ZFNet10.1 意义10.2 实现方法10.3 训练细节10.4 卷积网络可视化10.6 总结 11、VGGNet11.1 结构11.2 网络特点:11.3 分

weixin_44021149的博客 6万+

适航规章、标准,书籍资料下载汇总(增加DO-297 IMA)

从事IMA平台适航工作的朋友看过来,DO-297英文版PDF可以下载了!更新日志:2024-9-28:初版。2024-10-21:增加DO-330英文版PDF下载,后台回复关键词”330“获取下载链接。2024-10-30:增加DO-160G中文版(非机翻)和英文版PDF下载,后台回复关键词”160“获取下载链接。2024-11-10:增加DO-297英文版PDF下载,后台回复关键词”297“获取下载链接。以下是一些收集到的适航相关的资料,分享给大家。

qq_41854911的博客 1579

什么是CNN?机器学习入门贴,Facebook员工打造,47k访问量

2020-07-26 18:03:00 本文经AI新媒体量子位授权转载,转载请联系出处。 本文约2000字,建议阅读5分钟。 在图像分类时,面临着图像大,物体的形态、位置不同等问题,给普通的神经网络带来了难题,而卷积神经网络就是来解决这个问题。 看你是人还是物,是猫还是狗。 卷积神经网络(CNN)最重要的用途就是图像分类。说起来,似乎很简单。 为什么不使用普通的神经网络呢? 那是因为在图像分类时,面临着图像大,物体的形态、位置不同等问题,这就给普通的神经网络带来了难题。 而,卷积神.

喜欢打酱油的老鸟 619

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java的string访问某个元素_啥是CNN?写给小白的机器学习入门贴,Facebook员工打造,47k访问...

白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI看你是人还是物,是猫还是狗。卷积神经网络(CNN)最重要的用途就是图像分类。说起来,似乎很简单。为什么不使用普通的神经网络呢?那是因为在图像分类时,面临着图像大,物体的形态、位置不同等问题,这就给普通的神经网络带来了难题。而,卷积神经网络就是来解决这个问题。Facebook软件工程师Victor Zhou这篇入门贴,就介绍了什么是卷积神经网...

weixin_39900582的博客 110

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Facebook 的应用机器学习平台

机器学习是Facebook许多重要产品和服务的核心技术。这篇论文来自Facebook的17位科学家和工程师,向世界介绍了Facebook应用机器学习的软件及硬件架构。\\本着“赋予人们建立社区的力量,使世界更紧密地联系在一起”的使命,到2017年12月,Facebook已经将全球超过二十亿人连接在一起。同时,在过去几年里,机器学习在实际问题上的应用正在发生一场革命,这场革命的基石便是机器学习算法创...

weixin_33873846的博客 512

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【机器学习】Facebook服务于20亿人的应用机器学习平台是如何建成的?

译者|马卓奇 编辑|Emily AI 前线导读:机器学习是 Facebook 许多重要产品和服务的核心技术。这篇论文来自 Facebook 的 17 位科学家和工程师,向世界介绍了 Facebook 应用机器学习的软件及硬件架构。更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front) 本着“赋予人们建立社区的力量,使世界更紧密地联系在一起”的使命,到 2017 年 12 月,F

产业智能官 2063

PyTorch关键算法疑似侵权,Facebook被起诉

作者 | 神经星星来源 | HyperAI超神经(ID:HyperAI)近期,一纸诉讼书引起社区的广泛讨论。该诉讼由创业公司 Neural Magic ...

AI科技大本营 703

从数据中心基础设施的视角来看 Facebook 机器学习的应用

据国外媒体报道,Facebook 的 20 亿用户中,绝大多数人不清楚 Facebook 有多少服务在多大程度上依靠人工智能来运作。更没多少人知道,在庞大的 Facebook 帝国,机器学习占有多大的分量。今天,我们翻译了 Hazelwood 等人撰写的文章,从数据中心基础设施的角度,来窥视在 Facebook 内部的机器学习应用的情况。希望这篇文章能够起到管中窥豹、抛砖引玉的作用。更多干货内容请...

weixin_33836223的博客 85

Facebook 违反竞业协议被起诉,PyTorch 关键技术疑似侵权

By 超神经场景描述:近期,一纸诉讼书引起社区的广泛讨论。该诉讼由创业公司 Neural Magic 发起,指控 Facebook 发布到 GitHub 的神经网络软件,使用了他们开发的...

HyperAI超神经 896
上一篇: 【智能算法】硬核干货算法文章汇总
下一篇: 杨振宁:通过我的求学及研究经历,获得了这些启发与感受
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值