首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通俗地说,人工智能是如何工作的,是基于算法的吗?

程序员(Programmer,Computer Programmer或Coder;程序师),可以指在程序设计某个专业领域中的专业人士,或是从事软件撰写,程序开发、维护的专业人员。但一般Coder特指进行编写代码的编码员。一个程序员最常使用的编程语言(如汇编语言、COBOL、C、C++、C#、JavaScript、Lisp、Python)可以加在“程序员”这个词前面用来修饰。涉及编程的一系列职业,如(软件)开发人员、网络开发人员、移动应用程序开发人员、嵌入式固件开发人员、软件工程师、计算机科学家、游戏程序师、游戏开发人员和软件分析师,通常还需要一系列其他类似的技能。用程序员这个词来指代这些职位,有时被认为是一种侮辱性的简化,甚至是贬损。

程序员,你见过的程序/应用程序之间最奇怪/最意想不到的交互是什么?

我认为这是一个很好的。事情发生在二十多年前,所以我的记忆有些模糊。我在帕洛阿尔托一家名为 Teknowledge 的小型第一代(逻辑学家)人工智能商店工作。有一天,我们内部系统之一的用户报告其数据库之一出现损坏。有问题的数据库是通过伯克利数据库 (BDB) 库进行操作的。

在我们调查的过程中,我们不得不对 BDB 代码进行逆向工程。我们最终得出的结论是,所有更新都是分阶段进行的:1)写入新数据;2)更新索引以引用更新后的数据。添加新数据的方式是寻找文件中第一个未使用字节的写描述符并写入。Unix 文件系统语义规定这样做会自动扩展文件以容纳添加的数据。我们最终意识到数据写入失败,但索引更新仍在继续。

为什么?

事实证明,IT 人员已将我们的 Sun NFS 服务器更新为新版本。此更新包括一项优化,可以有效地对文件系统更新进行流水线处理(文件系统,而不是数据库!)。特别是,即使调用的操作尚未完成,此优化也会给出“乐观”或“快乐路径”响应代码。如果在 NFS 调用n上写入失败,则可能会在m > 0的调用n+m上报告。

特别是,如果超出当前逻辑文件末尾的写入无法分配扩展文件所需的空间,则写入将失败。但是在 NFS 服务器报告写入成功之后发生了故障!直到后来的某个电话,才将故障报告给客户。但遗憾的是,下一次写入是索引更新。它是就地完成的,因此成功了。这样,腐败就完成了。

程序员们,当您在项目进行到一半时意识到自己几乎不可能完成它时,正确的做法是什么?

很多答案都说要与项目经理、首席工程师或类似人员进行沟通。如果这是一个团队项目,那是对的,但即便如此,它也只是图片的一部分。但根据大多数研究,超过 75% 的编程项目都是独自完成的:通常没有经理或首席程序员(除了你自己)可以与之交谈。所以这个建议通常是没有用的。

作为一名独立程序员(或从事项目工作的任何人),您需要学习评估完成您开始的项目的重要性,以及从继续与停止工作中获得的收益。这意味着了解沉没成本(仅仅因为你在某件事上花费了 20 周并不意味着它值得继续)。这意味着了解承诺对您声誉的影响(即使您只能从完成项目中获得 5000 美元,但可能值得投入 5500 美元的努力,您已经承诺交付,如果不这样做会对您的声誉产生负面影响业务向前发展)。

对于绝大多数非付费或商业的编程项目,这是一个真正功利主义的决定(效用不等于金钱)。你的工作有多有趣?您在此过程中学到了多少知识,这些知识可能对将来有用?使用您为他制作的食谱目录,您的父亲会享受多少乐趣?是否有一种便宜的替代方案可以使用而不是自己实施?没有一个简单的答案,而且这个问题并不特定于编程。一位 DIY 家庭水管工面临同样的问题:我以为这只是花 10 美元更换浮子,但事实证明它要复杂得多。

我应该放弃并花 250 美元请专业人士来修理它吗?或许。但即使我自己修理它要花 275 美元,我也可以学到足够多的东西或充分享受这个过程(或足够抵消未来的成本),从而值得自己去做。而这样的决定总是取决于非常个人的判断。

机器学习中的归一化是什么?

归一化是机器学习的重要组成部分,因为它确保用于训练模型的数据一致且准确。将输入变量缩放到指定范围以使所有数据点具有相同值范围的过程称为归一化。这使得比较数据点更容易,并减少了异常值的影响。图像识别是规范化可以发挥作用的一种应用。通过归一化像素值,可以更准确地比较图像中的所有像素,无论亮度或颜色如何。这使得机器学习模型能够更准确地识别图像中的对象。

归一化也可用于减少高值偏差。规范化数据,例如,在训练模型识别人脸时,可以减少肤色较浅的人的偏见。这可以帮助模型更准确、公平地识别不同种族和肤色的人。归一化也可用于减轻分类变量的影响。由于分类数据的标记方式,一个值可能比其他值更有影响力。对数据进行归一化会赋予所有值相同的权重,从而使模型能够做出更准确的预测。有助于加速机器学习模型训练。它可以帮助汽车跑得更快!

既然 Chat-GPT 实际上只是一个复杂的文本预测算法,为什么它似乎“知道”它是一个 AI?例如,它经常说这样的话,“作为 OpenAI 制造的人工智能……”

它什么都“不知道”。它没有意识。它之所以这么说,是因为它已被编程。这几乎是故事的结尾。但这里有更多细节,所以这个答案对于 Quora 来说并不算太短。可以在程序将结果返回给用户之前修改此类算法的原始输出。这用于微调输出以使其更好,但它也用于在上下文适当的时候添加类似的东西。这个案例似乎是关于试图让程序“感觉”就像你在和“某人”聊天,而不是以任何方式欺骗正在发生的事情。人们很可能会感知到一个不存在的思想,因为它变成出,如果他们得到正确的信号。所以这很可能是程序员试图平衡“让它感觉真实”和“不要让人们对他们正在交谈的内容感到困惑”。

可能只是训练数据的加权方式使得这个短语很可能出现,但我希望它是一个 sub-alg 修改输出。可能是错误的。重要的一点是算法实际上只是一种算法。它不是任何意义上的“人工智能”,而是最广泛意义上的“人工智能”。它没有人类那样的“智能”,也“不知道”任何东西。-X。

通俗地说,人工智能是如何工作的,是基于算法的吗?

大多数人工智能使用一种称为“神经网络”的技术……这本质上是动物和人类大脑工作方式的简化模型。一些人工智能在传统计算机上使用软件模拟神经元网络。其他人则使用特殊的电子设备来做基本相同的事情。他们模拟了大量的“神经元”——每个神经元都有大量的输入和输出连接,每个神经元的输出都连接到其他神经元的大量输入——从而形成了一个巨大的、相互联系的“大脑”。

人工智能的大脑比人脑简单数百万倍——甚至比简单动物的大脑还要简单。在一个神经元的输出连接到另一个神经元的输入的每个点——可以调整连接的强度……我们称之为“加权”。所以每个神经元都接受它的所有输入——将每个输入的值乘以输入的权重——然后将所有这些输入的加权值相加——这就是神经元发送到它所有输出的内容。好的 - 这就是神经网络 - 但聪明的部分是你如何让这个奇怪的装置做一些有用的事情。假设我们有一堆照片——一些是猫,一些是狗——我们希望神经网络查看每张照片——并告诉我们“狗”或“猫”。所以第一件事就是获取照片的每个像素并将其连接到神经元的输入……一百万个像素 - 一百万个神经元。然后在神经元网络的另一端——让一个特定神经元的输出为 0.5 或更小表示“DOG”,大于 0.5 表示“CAT”。

为了完成这项工作——我们找到(比如说)一百万张猫的照片和一百万张狗的照片。我们依次将每张照片呈现给网络的输入 - 然后查看输出。如果所有的“权重”都是随机设置的——网络将产生一个随机输出——“CAT”或“DOG”……用人类的话来说——它就是“猜测”。如果它猜对了——然后我们回顾它的权重,找出哪些神经元对答案有贡献,哪些没有。我们加强了它们的所有权重。如果它猜错了——那么我们会削弱所有导致错误答案的神经元的权重。我们现在可以随机向网络展示一只猫或一只狗——并通过经典的“奖励”和“惩罚”进行训练。通过用几百万张照片反复测试它——它逐渐学习——变得越来越好,直到它几乎总是能猜对。

结论:

这听起来很复杂——但实际上在概念上相对简单。你构建了一个真实动物大脑的模拟。然后你像训练狗一样训练它——奖励和惩罚……奖励(加强)正确的神经通路——并惩罚(削弱)错误的神经通路。你如何做到这一点非常复杂 - 随着网络越来越接近学习它的工作,逐渐减少加强/削弱的数量。拥有多层神经元——每个神经元都学习问题的一部分。然后是对抗学习——你训练两个神经网络——一个试图识别“DOG”、“CAT”或“FAKE”——另一个试图生成假图像来欺骗另一个神经网络说“DOG”或“CAT” ” 以响应假图像 - 或“FAKE” 以响应真实图像。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230107A01VB300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券