llya Sutskever回忆让机器能学习的研发过程。没有GPU,没有数据,没有思路,神经网络为什么能学习?还有其它的结构可以让计算机学习吗?

本文主要是介绍llya Sutskever回忆让机器能学习的研发过程。没有GPU,没有数据,没有思路,神经网络为什么能学习?还有其它的结构可以让计算机学习吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

llya Sutskever回忆 2002年左右,没有GPU,没有数据,没有思路,就是想让机器能学习。

1、找到了Geoffrey Hinton的神经网络,它能学习,原因就是原理与大脑相似。认为这条路前景是最光明的,所以支撑他一路走来。
2、最开始用的是CPU
3、神经元只有50个或几百个(算很大的)
4、100万的参数认为是很庞大了
5、不懂BLAS,用优化过的Matlab
6、用什么的问题来提问比较好,试试这个,试试那个,都是小的尝试。(比如我们现在用鲁迅与周树人是不是同一个人来区分chatGPT3.5和GPT4)
7、Geoffrey Hinton当时对训练神经网络用于小的数字感到兴奋。分类任务,如何生成那些数字,生成模型的源头就从那时开始。但是问题在于做的那些很酷的东西都很零散。什么才是真正推动技术进步?当时并不明确就是对的问题,但事后看来恰恰对了。

针对这个初心,我想问:想让人长生不老,你认为哪条路最光明?

先实现AGI,再让AGI来实现。

普通人没有那么多资源,怎么办?

比如雷军,用纸画的键盘。
脑子里要什么有什么,大脑是最强模似仿真器

何时知道要构建面向计算机视觉的神经网络?

1、发现有监督学习才是我们前进的方向。
2、如果你的神经网络非常深且大,那就可以用它去解决一项有难度的任务。
3、那时的人们还没有去关注大的神经网络,人们可能还在研究神经网络的深度,大部分机器学习领域根本没有去研究神经网络,他们正在研究各种贝叶斯的模型和内核方法,这些方法虽然有优雅的理论基础,但并不表示就是一个好的解决方案,无论你怎么配置他们。(大部分被某歌带沟里了)。
4、大型的神经网络却能在面对问题求解时,给出一个好的答案。
5、为了找到一个好的数据集以及大量的计算来完成这项工作,我们也做了很多优化工作,但优化是一个瓶颈。
6、这时,Geoffrey Hinton的另一个研究生James Martens取得突破,他提出了一种与我们不同的优化方法,他使用一些二阶方法。
7、关键在于,事实证明可以训练这些神经元,因为之前我们都不知道能否训练他们。所以如果能训练神经网络,就把它变大一些。然后去找一些数据,这样就能成功。所以,接下来的问题是,去找什么样的数据。答案就是ImageNet。
8、在当时看来,ImageNet是一个难度很高的数据集,但很明显,如果你要训练一个大的卷积神经网络,在此数据集上它必须成功。

二阶方法是一种在优化领域特别是在机器学习中常见的算法,它们在寻找最优解时考虑了目标函数的一阶导数(梯度)和二阶导数(Hessian矩阵)。这类方法通常比只考虑一阶导数的方法更精确,但计算上也更复杂。下面是一些常见的二阶方法:

  1. 牛顿法(Newton’s Method):牛顿法使用目标函数的一阶和二阶导数来找到极小值。它通过近似目标函数为二次函数并求解这个二次函数的最小值来迭代更新参数。牛顿法在接近最优解时收敛速度非常快,但计算Hessian矩阵和它的逆是计算成本高的步骤。

  2. 拟牛顿法(Quasi-Newton Methods):为了降低计算Hessian矩阵的成本,拟牛顿法提出使用近似的Hessian矩阵或其逆矩阵。最常用的拟牛顿方法包括BFGS(Broyden-Fletcher-Goldfarb-Shanno算法)和L-BFGS(Limited-memory BFGS)。L-BFGS特别适用于处理大规模问题,因为它不需要存储整个Hessian矩阵。

  3. 共轭梯度法(Conjugate Gradient Method):这种方法主要用于求解大型线性方程组,但也可以用于优化。共轭梯度法在每次迭代中使用一阶导数信息,但通过一种特殊的方式来更新搜索方向,使得这些方向“共轭”,从而提高搜索效率。

  4. 海森自由优化(Hessian-Free Optimization):这是一种用于深度学习的二阶优化方法,它并不直接计算Hessian矩阵,而是使用一种叫做矩阵-向量积的技术来近似Hessian矩阵对优化过程的影响。

二阶方法在处理具有复杂曲面的优化问题时非常有效,特别是在目标函数的形状变化较大或参数空间较大时。然而,它们的计算成本通常高于一阶方法(如梯度下降),在实际应用中需要根据问题的具体情况权衡选择。

神经网络能够学习主要是因为它们模拟了人脑的工作方式。我们可以用生活中的例子来帮助理解:

  1. 模仿人脑结构:想象一下,你的大脑是由很多神经元组成的,这些神经元通过突触(连接点)相互连接。神经网络也是这样,它由许多“神经元”(通常是数学函数)组成,这些神经元通过“突触”(权重)相互连接。就像你学习骑自行车时,大脑的神经元会根据经验调整连接,神经网络在学习数据时也会调整其内部的权重。

  2. 学习和调整:当你学习新东西时,你的大脑会根据反馈来调整。如果你在学习骑自行车时摔倒了,你的大脑会记住这次经验,并在下次尝试时做出调整。神经网络也是通过反馈来学习的,这种反馈通常是通过一种叫做“反向传播”的算法来实现的。网络会根据它的预测和实际结果之间的差异来调整权重,从而提高预测的准确性。

至于其他让计算机学习的结构,确实存在。除了神经网络,还有以下几种常见的机器学习结构:

  1. 决策树:就像是在做选择题时,根据每个问题的答案来决定下一个问题。决策树通过一系列的是非问题来做出决策。

  2. 支持向量机(SVM):可以想象成找到一个最好的“尺子”,用这个“尺子”来区分不同类别的数据点。

  3. 集成学习:就像是征求多个专家的意见,然后综合这些意见来做出最终的判断。集成学习通过结合多个模型的预测来提高整体性能。

  4. 贝叶斯网络:类似于根据过去的经验来预测未来的事件。它们通过概率推理来做出预测。

每种方法都有其独特的优势和适用场景,而神经网络之所以受到广泛关注,是因为它们在处理大量复杂数据(如图像和语音)时表现出色。

OpenAI今年早些时候向一组多样化的alpha测试用户提供了GPT-4V的访问权限,其中包括“Be My Eyes”,这是一个为视觉障碍用户构建工具的组织。

语法分析如下:

  1. 主句结构

    • 主语:“OpenAI”(OpenAI)
    • 谓语:“gave”(给予)
    • 直接宾语:“a diverse set of alpha users”(一组多样化的alpha测试用户)
    • 间接宾语:“access to GPT-4V”(访问GPT-4V的权限)
  2. 时间状语

    • “earlier this year”(今年早些时候),用来说明动作发生的时间。
  3. 包括的内容

    • “including Be My Eyes”(包括Be My Eyes),这是一个插入语,用来进一步说明alpha测试用户的一部分。
  4. 介词短语

    • “an organization that builds tools for visually impaired users”(一个为视觉障碍用户构建工具的组织)
    • 这是对"Be My Eyes"的补充说明,用来描述这个组织的作用和目标。

整个句子说明了OpenAI如何将GPT-4V的早期访问权限提供给了一个多元化的用户群体,特别提到了“Be My Eyes”这个为视觉障碍者提供工具的组织,强调了GPT-4V在多种场景下的潜在应用。

"Alpha测试用户"指的是在软件开发过程中早期阶段参与测试的用户群体。在软件或产品的开发周期中,alpha测试通常是在内部测试之后、beta测试之前进行的阶段。这个阶段的特点和重要性如下:

  1. 早期阶段的测试

    • Alpha测试通常发生在软件开发的早期阶段,当产品的主要功能已经开发完毕但可能还存在很多未解决的问题和bug。
  2. 限定的用户群

    • Alpha测试用户通常是一群限定的用户,他们可能是公司内部员工、特定的外部测试人员或一些特殊的客户。
  3. 收集反馈和数据

    • Alpha测试的目的是收集用户对产品的早期体验反馈,帮助开发团队识别问题、改进产品的功能和用户体验。
  4. 高风险和不稳定性

    • 在alpha测试阶段,产品通常还不够稳定,可能会有很多bug和性能问题。因此,这个阶段的测试用户需要有一定的容错能力和对产品开发过程的理解。

在OpenAI将GPT-4V提供给alpha测试用户的上下文中,这意味着这些用户是首批体验和测试GPT-4V的群体,他们的反馈对于产品的进一步开发和改进至关重要。

这篇关于llya Sutskever回忆让机器能学习的研发过程。没有GPU,没有数据,没有思路,神经网络为什么能学习?还有其它的结构可以让计算机学习吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492901

相关文章

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark