一个2岁的人类孩子需要大约5辆汽车才能以合理的准确性识别它,而不论其颜色,制造等如何。我儿子2岁时,即使他已经看过,也能够识别电车和火车。一些。由于他通常会彼此混淆,因此显然他的神经网络还没有足够的训练,但仍然可以训练。
缺少人工神经网络是什么使它们无法更快地学习呢?转移学习是答案吗?
一个2岁的人类孩子需要大约5辆汽车才能以合理的准确性识别它,而不论其颜色,制造等如何。我儿子2岁时,即使他已经看过,也能够识别电车和火车。一些。由于他通常会彼此混淆,因此显然他的神经网络还没有足够的训练,但仍然可以训练。
缺少人工神经网络是什么使它们无法更快地学习呢?转移学习是答案吗?
Answers:
我警告不要期望生物学和人工神经网络之间有很强的相似性。我认为“神经网络”这个名称有点危险,因为它使人们期望神经系统过程和机器学习应该相同。生物和人工神经网络之间的差异超过了相似之处。
例如,您还可以在原始帖子的头部翻转推理。您可以训练一个神经网络来学习在下午识别汽车,前提是您拥有一台相当快的计算机和一些训练数据。您可以将其设置为二元任务(汽车/非汽车)或多类任务(汽车/电车/自行车/飞机/船),但仍然对成功有信心。
相比之下,我不希望孩子能够在汽车诞生的第二天甚至是一周内挑选汽车,即使它已经见过“这么多的训练实例”。两岁大的婴儿与婴儿之间的明显差异是造成学习能力差异的原因,而香草图像分类神经网络完全有能力在“出生”后立即进行物体分类。我认为有两个重要的区别:(1)可用的培训数据的相对数量;(2)由于丰富的培训数据,随着时间的推移会发展出一种自我教学机制。
原始帖子暴露了两个问题。问题的标题和正文问为什么神经网络需要“这么多的例子”。相对于孩子的经历,使用常见图像基准训练的神经网络数据相对较少。
我将标题中的问题改写为
为了进行比较,我将考虑CIFAR-10数据,因为它是常见的图像基准。标记部分由10类图像组成,每类6000张图像。每个图像为32x32像素。如果您以某种方式堆叠了CIFAR-10上的标签图像并制作了标准的48 fps视频,那么您将获得大约20分钟的镜头。
一个2岁的孩子每天观察世界12个小时,大约有263000分钟(超过4000个小时)可以直接观察到世界,其中包括来自成年人(标签)的反馈。(这些只是球场上的数字-我不知道典型的两岁孩子花了多少分钟来观察世界。)此外,孩子将接触CIFAR的10类以外的许多物体, 10。
因此,有一些事情在起作用。一个是,与CIFAR-10模型相比,孩子拥有更多的总体数据和更多样化的数据来源。通常,众所周知,数据多样性和数据量是构建健壮模型的先决条件。从这个角度来看,在这个任务上神经网络比孩子更糟似乎并不令人惊讶,因为与两岁大的孩子相比,在CIFAR-10上训练的神经网络对于训练数据肯定感到饥饿。儿童可以使用的图像分辨率优于32x32 CIFAR-10图像,因此儿童可以学习有关对象精细细节的信息。
CIFAR-10与两岁儿童的比较并不完美,因为CIFAR-10模型可能会在相同的静态图像上经过多次通过训练,而孩子将使用双目视觉看到物体在三个物体中的排列方式。三维世界,同时在同一物体上移动并具有不同的照明条件和视角。
关于OP的孩子的轶事暗示了第二个问题,
一个孩子被赋予了一些自学才能,因此随着时间的推移可以添加新类别的对象,而不必从头开始。
OP关于转移学习的评论指出了一种机器学习环境中的模型适应。
在评论中,其他用户指出单次学习*是另一个机器学习研究领域。
此外,强化学习从不同的角度处理自我教学模型,从本质上讲,允许机器人进行试错实验,以找到解决特定问题(例如下棋)的最佳策略。
这三个机器学习范例都与改善机器适应新的计算机视觉任务的方式密切相关。快速使机器学习模型适应新任务是研究的活跃领域。但是,由于这些项目的实际目标(识别恶意软件的新实例,识别护照照片中的冒名顶替者,在互联网上建立索引)和成功的标准与儿童了解世界的目标不同,并且事实并非如此。一台使用数学的计算机,另一台是使用化学方法在有机材料中完成的,两者之间的直接比较仍然很困难。
顺便说一句,研究如何翻转CIFAR-10问题并训练神经网络从每个实例的10个示例中识别出6000个对象将很有趣。但这甚至不能与2岁儿童进行公平的比较,因为训练数据的总量,多样性和分辨率仍然存在很大差异。
*我们目前没有用于单次学习或几次学习的标签。
在目前的答案中我没有看到的一个主要方面是进化。
孩子的大脑不会从头开始学习。这类似于询问鹿和长颈鹿婴儿在出生后几分钟后如何走路。因为他们天生就已经为完成这项任务而绞尽脑汁。当然需要进行一些微调,但是小鹿并没有学会从“随机初始化”中走出来。
同样,存在巨大的移动物体并且对跟踪非常重要的事实是我们与生俱来的。
因此,我认为这个问题的前提完全是错误的。人类的神经网络有机会看到大量的-也许不是汽车,而是-移动,旋转具有困难的纹理和形状的3D对象,但是这种情况发生了很多代,并且学习是通过进化算法进行的,即那些大脑能够更好地完成这项任务,可以活出更高的繁殖机会,从一开始就为下一代提供了更好的大脑连接。
我对神经网络了解不多,但我对婴儿了解得很多。
许多2岁的孩子对通用词的使用方式有很多疑问。例如,在那个年龄,孩子在任何四足动物身上使用“狗”是很普遍的。这比“汽车”更难区分-例如,想一想贵宾犬与一只伟大的丹麦人的相貌有多大,但它们都是“狗”而猫则不是。
2岁的孩子看到了很多超过5个“汽车”的例子。每当家人开车兜风时,孩子都会看到数十甚至数百辆汽车。而且很多父母都会对“看车”发表评论超过5次。但是孩子们也可以以他们没有被告知的方式思考。例如,在大街上,孩子会看到很多东西在排队。他的父亲说:“看看那辆闪亮的汽车!” 孩子认为“也许其他所有排队的东西也是汽车吗?”
2岁的人类儿童需要大约5辆汽车才能不管颜色,品牌等如何以合理的准确性对其进行识别。
“实例”的概念很容易混淆。尽管孩子可能看过5个独特的汽车实例,但实际上他们在许多不同的环境中都看到了成千上万个帧。他们可能在其他情况下也看到过汽车。他们还对自己一生中所发展的物理世界有一种直觉-这里可能发生一些迁移学习。但是,我们将所有内容打包为“ 5个实例”。
同时,您传递给CNN的每个帧/图像都被视为“示例”。如果您使用一致的定义,那么这两个系统实际上都在利用大量相似的训练数据。
另外,我想指出的是,卷积神经网络(CNN)在计算机视觉中比ANN更有用,并且实际上在诸如图像分类等任务中接近人类的表现。深度学习(可能)不是万能药,但它在这一领域确实表现出色。
正如其他人所指出的,取决于细节,人工神经网络的数据效率变化很大。实际上,有许多所谓的“一次性学习”方法,可以仅使用一个标记的样本就可以非常准确地解决标记电车的任务。
一种方法是所谓的转移学习。一个经过其他标签训练的网络通常非常有效地适应新标签,因为辛苦的工作正在以合理的方式分解图像的低级部分。
但是我们实际上并不需要这样的标记数据来执行这样的任务。就像婴儿不需要像您正在考虑的神经网络一样需要标记的数据。
例如,我在其他情况下也成功应用的一种无监督方法是拍摄一组未标记的图像,随机旋转它们,并训练网络以预测图像的哪一侧“朝上”。在不知道可见对象是什么或它们叫什么的情况下,这迫使网络学习有关图像的大量结构。这可以为后续的标记学习提供更高的数据效率。
诚然,人工网络在可能有意义的方式上与真实网络有很大不同,例如缺少反向传播的明显类似物,但真实神经网络很可能确实利用了相同的技巧来尝试学习人工神经网络。一些简单的先验暗示的数据结构。
另一个几乎可以肯定的例子是,它在动物中扮演着重要角色,并且在理解视频方面也显示出了巨大的希望,它的前提是,未来应该可以从过去中预测出来。仅仅从这个假设开始,您就可以全面学习神经网络。在哲学层面上,我倾向于认为这一假设几乎是我们认为是“知识”的一切的基础。
我不是在这里说新的话。但是从某种意义上来说,这是一个相对较新的事物,这些可能性还太年轻,以至于尚未找到许多应用,并且还没有渗透到教科书中对“ ANN可以做什么”的理解。因此,要回答OP的问题;人工神经网络已经弥合了您描述的大部分鸿沟。
训练深度神经网络的一种方法是将其视为自动编码器堆栈(Restricted Boltzmann Machines)。
理论上,自动编码器以无监督的方式学习:它获取任意,未标记的输入数据并对其进行处理以生成输出数据。然后,它将获取该输出数据,并尝试重新生成其输入数据。它调整其节点的参数,直到可以接近其数据往返。如果您考虑一下,则自动编码器正在编写自己的自动化单元测试。实际上,它正在将其“未标记的输入数据”转换为标记的数据:原始数据充当往返数据的标记。
在对自动编码器的各层进行训练之后,使用标记的数据对神经网络进行微调,以执行其预期的功能。实际上,这些是功能测试。
原始海报询问为什么训练人工神经网络需要大量数据,并将其与据称两岁的人类所需的少量训练数据进行比较。最初的发布者正在比较苹果到橙色:人工神经网络的总体培训过程,以及针对两岁儿童的带有标签的微调。
但实际上,这名两岁孩子已经对自动编码器的随机自标记数据进行了两年多的培训。婴儿们在子宫内时就梦想着。(小猫也是。)研究人员将这些梦想描述为涉及视觉处理中心中的随机神经元放电。
一个小孩子需要花费很长的时间和很多例子来学习如何看待物体。此后,儿童可以仅通过几个示例来学习识别特定类型的对象。如果您将一个两岁的孩子与一个从字面上是空白的学习系统进行比较,那就是苹果和橘子的比较。在那个年龄的孩子已经看了数千个小时的“录像”。
以类似的方式,需要人工神经网络使用许多示例来学习“如何看待”,但是之后可以将这些知识转移到新的示例中。转移学习是机器学习的整个领域,并且可能会发生“一次学习”之类的事情-您可以构建ANN,这些ANN会学会识别一个示例中以前从未见过的新型对象,或者识别一个对象。某人的单张照片。但是,做好最初的“学习看”部分需要大量数据。
此外,有证据表明并非所有的训练数据都是相等的,即,您在学习时“选择”的数据比单纯提供给您的数据更有效。例如,Held&Hein双胞胎小猫实验。https://www.lri.fr/~mbl/ENS/FONDIHM/2013/papers/about-HeldHein63.pdf
到目前为止,我尚未在答案中看到的一件事是,人类孩子看到的现实世界对象的一个“实例”与NN训练上下文中的实例并不对应。
假设您正和一个5岁的孩子站在铁路交叉路口,看着10分钟内有5列火车通过。现在,您可以说“我的孩子只看了5列火车,而当NN需要数千张图像时,它可以可靠地识别其他火车!”。尽管这可能是对的,但您完全忽略了一个事实,即您的孩子看到的每列火车都比一张火车的单个图像包含更多的信息。实际上,您的孩子的大脑每秒通过火车时会处理数十幅图像,每幅图像的角度略有不同,阴影不同,等等,而单个图像将为NN提供非常有限的信息。在这种情况下,您的孩子甚至拥有NN无法获得的信息,例如火车的速度或火车发出的声音。
此外,您的孩子可以说话和提问!“火车很长,对吗?” “是的。”,“它们也很大,对吗?” “是。”。通过两个简单的问题,您的孩子可以在不到一分钟的时间内学习到两个非常重要的功能!
另一个重要点是对象检测。您的孩子能够立即识别出需要关注的对象,即图像的哪一部分,而NN则必须学会检测相关对象,然后才能对其进行分类。
我认为性能并没有您期望的那么大,但是您提出了一个很大的问题(请参阅最后一段)。
正如您提到的转移学习:为了将苹果与苹果进行比较,我们必须查看人类/神经网络“看到”的总数和多少张感兴趣的图片。
1.人看多少张照片?
人眼的运动大约需要200毫秒,这可以看作是一种“生物照片”。请参阅计算机视觉专家李飞飞的演讲:https : //www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures#t-362785。
她补充说:
因此,到3岁时,一个孩子会看到数亿张照片。
在用于对象检测的领先数据库ImageNet中,大约有1400万张带标签的图片。因此,在ImageNet上受过训练的神经网络将看到一个14000000/5/60/60/24 * 2〜64天大的婴儿,即两个月大的婴儿(假设婴儿清醒了一半的生命)。公平地说,很难说出其中有多少张图片被标记了。而且,婴儿看到的图片并不像ImageNet那样多样化。(可能是婴儿看到她母亲的时间,...;)。但是,我认为您的儿子将看过数亿张图片(然后应用转移学习)是很公平的。
那么,鉴于可以从中(转移)学习到相关图片的坚实基础,我们需要学习多少图片?
我发现的第一篇博客文章是:https : //blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html。每个类使用1000个示例。我可以想象2.5年后甚至需要更少的东西。但是,人类可以在3.3分钟内在1000/5/60中看到1000张照片。
你写了:
2岁的人类儿童需要大约5辆汽车才能不管颜色,品牌等如何以合理的准确性对其进行识别。
这相当于每个实例四十秒(该对象具有各种角度以使其具有可比性)。
总结: 正如我提到的,我必须做一些假设。但是我认为,人们可以看到性能并没有人们期望的那么大。
但是,我相信您会问一个很好的问题,这就是为什么:
2.如果神经网络更像大脑一样工作,神经网络的性能会更好/有所不同吗?(杰弗里·欣顿说是)。
在2018年末的一次采访https://www.wired.com/story/googles-ai-guru-computers-think-more-like-brains/中,他将神经网络与大脑的当前实现方式进行了比较。他提到,就重量而言,人工神经网络比大脑小10.000倍。因此,大脑需要更少的训练迭代来学习。为了使人工神经网络能够像我们的大脑一样工作,他遵循了另一种硬件趋势,即英国的一家名为Graphcore的初创公司。它通过一种智能的方式存储神经网络的权重来减少计算时间。因此,可以使用更多的权重,并且可以减少人工神经网络的训练时间。
我是这方面的专家。我是人类,我是婴儿,我有车,我做AI。
婴儿拿起例子的机会要少得多的原因是直觉。人脑已经具有处理3D旋转的结构。另外,有两只眼睛为深度映射提供视差,这确实有帮助。您可以在汽车和汽车图片之间进行切换,因为图片没有实际的深度。Hinton(AI研究人员)提出了Capsule Networks的想法,该想法将能够更直观地处理事物。不幸的是,对于计算机而言,训练数据通常是2D图像,即平面像素阵列。为了不过度拟合,需要大量数据,因此图像中汽车的方向被概括了。婴儿的大脑已经可以做到这一点,并且可以在任何方向识别汽车。