理解神经网络:神经元的概念
https://www.toutiao.com/a6671989016830673412/
在本文中,我们将介绍神经网络的简单概念。
首先,我们需要了解什么是神经网络。为了做到这一点,我们将从一个现实生活中的问题及其使用神经网络逻辑的解决方案的例子开始。
例子
假设你在你的房间里写代码,你5岁的弟弟来找你并向你展示他的画作。
现在你看看它,你能看出这是什么:
而你脑海中浮现的问题是:
那是什么呀?
特征
你能做的就是提出一个假设“这是一只猫”。您可以记下您看到的生物的所有特征。所有这些特征都应该影响假设,这是合乎逻辑的,对吧?
但是,您如何确定所有这些特征实际上是您认为的那些?你怎么知道你所看到的翅膀是真实的翅膀?你总是可以问,但是因为那太容易了,而且不是机器学习,你能做的就是把概率分配给你看到的东西。你可以肯定有2只眼睛,有4条腿,一条腿似乎变形了,所以有4条腿的生物的概率应该更低。有了尾巴你不能确定它是否真的意味着它是一个尾巴,因为它的颜色和云朵看起来比较像......让我们不再深入讨论它并提供完整的特征列表及其概率。
权重
那么你又要问问自己,所有这些特征同样重要吗?事实上,如果这只猫失去一只眼睛,它仍然是一只猫。然而有翅膀的生物一般都是会飞翔的,所以肯定不是猫。因此,我们的下一个目标是确定每个特征在做出最终决策时的重要性,以及它们是否会增加或减少概率。
现在我们已经确定了这些特征的重要性并对它们进行了适当的缩放,我们可以简单地将它们相加并得到一些结果。
Y = 0.83×(-0.87)+ 0.95×0.42 + 0.66×0.69 + 0.72×(-0.64)+ 0.5×0.35 = -0.1535
激活函数
请注意,我们写的是0.83而不是83%,但值是相同的。我们还添加了正面特征并减去负面特征乘以它们的权重。我们可以看到输出为负数,因此我们可以得出结论,这可能不是猫,但我们必须做的最后一件事,可能存在一种情况,我们有很多特征并且输出分数非常大的情况。我们希望数据的格式限制在某个区间,例如<0,1>。我们可以将其视为0-100%之间的概率。我们为什么需要这个?首先,假设我们想要根据有猫的事实预测不同的东西,那么我们函数的输出将成为其他分类中的一个特征,因此它必须与所有其他特征在同一范围内。
我们应该使用什么函数来规范化输出?那么有很多可供选择,但现在我们使用sigmoid函数。
它返回<0,1>范围内的输出,因此我们可以将输出视为0-100%之间的概率。现在我们可以用这种格式编写公式:
Y = sigmoid(0.83×( - 0.87)+ 0.95×0.42 + 0.66×0.69 + 0.72×( - 0.64)+ 0.5×0.35)
神经元
恭喜你,你有一个神经元!
那么神经元是做什么的呢?
- 它把输入值乘以它们的权重,
- 然后将它们相加起来,
- 之后,它将激活函数应用于求和。
神经元是如何学习的?
神经元的目标是根据大量输入和输出示例调整权重。因此,假设我们向神经元展示了一千个猫的图片和非猫图片的示例,并且我们展示了每个示例中我们展示了哪些特征以及我们确信它们在这里的确定程度。基于上千张图像神经元决定:
- 哪些特征是重要的和正面的(例如每只猫的都有一条尾巴,因此权重必须大而且是正的),
- 哪些特征并不重要(例如,只有少数图片有2只眼睛,因此权重很小),
- 哪些特征是重要的和负面的(例如每个包含角的图片实际上是一只独角兽而不是猫的图片,所以权重必须大而且是负的)。
神经网络
正如我们之前所说,我们的神经元可以是其他一些神经元的输入。我们神经元的输入也可以是其他神经元的输出。
例如,我们想要基于照片的像素来预测是否存在诸如角,腿等的特征,然后基于它是猫的图片这一事实我们想要预测孩子喜欢什么类型的动物。
为此,激活函数特别有用,因为现在我们已经规范化了所有神经元的输出,因此它们可以作为网络下一层的输入。
请注意,通常每个神经元的输出不会连接到下一层的单个神经元,而是连接到很多神经元。这是因为神经元预测的信息对许多其他神经元有用,为什么我们不想使用它呢?
Black box
在这个例子中,我们展示了神经元决定图像是否包含基于特定特征的猫。在现实生活中,我们通常不知道哪些特征用于预测最终输出。在我们的例子中,我们说过这不是一只基于角等特征的猫。但在现实生活中,神经网络可以选择某些位置的像素等特征,并通过许多我们不知道的分类处理它们,并根据预测最终输出的分类。这被称为Blackbox方法,因为我们只看到输入和输出而不是中间完成的所有计算。因此,输入和输出层之间的层称为隐藏层。
什么是神经网络?
我认为我们已经为神经网络的最终定义做好了准备。
神经网络是一组按层次组成的神经元。每个神经元都是一个数学运算,它接受输入,乘以它的权重,然后通过激活函数将总和传递给其他神经元。神经网络正在学习如何根据前面的例子调整输入的权重来对输入进行分类。
理解神经网络:神经元的概念相关推荐
- PNAS | 理解单个神经元在深度神经网络中的作用
本次报道论文为发表于PNAS的Understanding the role of individual units in a deep neural network.众所周知,深度神经网络擅长查找可解 ...
- 一文详解循环神经网络的基本概念(代码版)
作者 | 李理 目前就职于环信,即时通讯云平台和全媒体智能客服平台,在环信从事智能客服和智能机器人相关工作,致力于用深度学习来提高智能机器人的性能. 写在前面 由于工作太忙,这个系列文章有一年多没有更 ...
- 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络
标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助于对现有网络架构进行更深层次的分析与 ...
- 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习
近日,DeepMind 发表博客介绍其对神经网络可解释性的最新研究成果.受神经科学启发,他们通过删除神经元来探索其对网络性能的影响.研究发现,和过去的经验直觉相反,选择性神经元(如「猫神经元」)对于网 ...
- 【论文解读】深度学习网络架构新视角:通过相关图表达理解神经网络(何恺明团队新作)...
文章来源于极市平台,作者Happy 标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助 ...
- 在理解通用近似定理之前,你可能都不会理解神经网络
©作者 | 陈萍.蛋酱 来源 | 机器之心 通用近似定理很好地解释了为什么神经网络能工作以及为什么它们经常不起作用. 此前,图灵奖得主.深度学习先驱 Yann LeCun 的一条推文引来众多网友的讨论 ...
- 【AI初识境】从头理解神经网络-内行与外行的分水岭
文章首发于微信公众号<有三AI> [AI初识境]从头理解神经网络-内行与外行的分水岭 这是专栏<AI初识境>的第2篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方 ...
- 理解神经网络,从简单的例子开始(2)使用python建立多层神经网络
这篇文章将讲解如何使用python建立多层神经网络.在阅读这篇文章之前,建议先阅读上一篇文章:理解神经网络,从简单的例子开始.讲解的是单层的神经网络.如果你已经阅读了上一篇文章,你会发现这篇文章的代码 ...
- 理解神经网络,从简单的例子开始(1)7行python代码构建神经网络
理解神经网络,从简单的例子开始(1)7行python代码构建神经网络 前言 本文分为两个部分,第一个部分是一个简单的实例:9行Python代码搭建神经网络,这篇文章原文为:原文链接, 其中中文翻译版来 ...
- 理解五个基本概念,让你更像机器学习专家
理解五个基本概念,让你更像机器学习专家 https://www.jianshu.com/p/ca37ea88a757 摘要: 这篇文章主要讲述了机器学习的相关内容,阐述了机器学习的主要意义和形成过程. ...
最新文章
- winxp登陆后自动注销
- 【caffe】基本数据结构blob
- html克隆元素增加id,h.js - 元素克隆与追加
- win10键盘快捷键
- 什么是转义字符?转义字符有哪些?为什么使用转义字符?
- JAVA学习【IDEA转中文】
- NEFU 155 超弦(插头DP)
- win7 报错 failed to install servicefailed installing
- html的介绍与示例
- 内核程序临界区和普通临界区
- cfa的pv怎么用计算机算,怎么用金融计算器算pv(金融计算器怎么用)
- 日期时间选择器 DatePicker
- 致远OA A8V5 A6V5 V8.2 8.1 8.0 V7 V6 V5 V3补丁
- 防火墙的长连接和短连接相关命令
- 《人工智能及其应用》第1章书后题 | 西电《人工智能导论》作业
- AutoCad相关知识:acdb和acge
- python写shp,使用Write-shp在NetworkX中写入shapefile
- 无法查看网上邻居工作组计算机,网上邻居无法查看工作组计算机怎么办
- 跨专业考清华大学的计算机,过来人分享:清华大学计算机考研经验谈
- python中的scrapy爬虫_Python 爬虫之Scrapy《中》