我与人工智能的故事

2023-05-16

本文作者:诸葛越

前 言

人工智能的三次浪潮

2018年年初,招聘季正如火如荼地进行,而“数据科学家”和“算法工程师”绝对算得上热门职业。

“人工智能”“机器学习”“深度学习”“建模”“卷积神经网络”等关键词,不仅仅是人们茶余饭后的谈资,而且更会像“数据结构”“排序”和“链表”一样,成为软件工程师的必备技能。

人工智能技术正在对社会结构、职场、教育等带来革命性的变化。 未来几年是人工智能技术全面普及化的时期,也是该技术的相关人才最为稀缺的时期。所以,我们希望能够通过这本书,帮助对人工智能和机器学习感兴趣的朋友更加深入地了解这个领域的基本技能,帮助已经有计算机技术基础的同行们,成为驾驭人工智能和机器学习的高手。

写在书的前面,我先简单介绍一下我了解的人工智能和机器学习的背景和历史,解释为什么现在是学习机器学习算法的大好时机。

我与人工智能

我的本科专业是人工智能。当年我上大学时,清华大学的计算机系每个年级有6个班,入学的时候就把每个班的专业分好。我们三班的专业是人工智能。所以在本科的时候,我就接触到许多当时人工智能领域的前沿技术。我的人工智能入门课的导师是可亲可敬的林尧瑞教授,也是《人工智能导论》的作者。这门课被我们戏谑为“猴子摘香蕉”,因为最开始的问题就是一只智能的猴子,如何自己组合积木去拿到天花板上挂着的香蕉。

当时清华大学的本科是5年制,正要开始改革,有少部分学生可以在四年级的时候开始接触研究生的一些活动,6年可以拿到硕士学位。我有幸被选为这几个学生之一,在本科四年级的时候,我进入了清华大学的人工智能实验室,师从张钹老师,做一些简单的研究。 从张老师和高年级的同学们那里,我学到人工智能领域不少当时国际先进的知识。

刚刚进入斯坦福的时候,去听一个小型的午餐讲座(Brown Bag),也就是一二十个人吧。那位同学讲到一半,教室门突然被打开,大胡子的约翰·麦卡锡(John McCarthy)教授走了进来,大声地问:“听说这里有不要钱的午饭?” 然后他走到房间的前面,抓了两个三明治,大摇大摆地走出去了。主持讲座的老师愣了一下,说:“欢迎大家来到斯坦福——世界上最著名的科学家会走进你们的教室来抢你们食物的地方!”

或许你不知道,“人工智能”(Artificial Intelligence)这个词,就来自约翰·麦卡锡。

因为本科是人工智能专业,所以我对人工智能一直比较感兴趣,在斯坦福又去学了一次人工智能课CS140。当时教这个课的是尼尔斯·尼尔森 (Nils Nilsson)教授。他是另外一位人工智能的学科创始人和世界级专家,写作了被广泛引用的经典之作——《对人工智能的探索》(The Quest for Artificial Intelligence)。尼尔森教授的课非常有趣,我还跟他做了一个小的项目,规划一个扫地机器人的路径。至今,我还保留了这门课的笔记。

说实话,我年轻的时候每天做作业、做课题,没有意识到,能和这些顶级科学家同堂是多么幸运的事,也未必知道自己正在见证某个技术领域的世界前沿。最顶尖的技术,开始都是只有小众才能理解和欣赏的。

然而,我的博士论文并没有专攻人工智能,反而做的是大数据方向,做了最早的数据仓库和数据挖掘工作。现在看来,我这几次和人工智能以及人工智能大咖的偶遇,刚好和人工智能的三次浪潮有关。第一次人工智能的浪潮就是约翰·麦卡锡那一代人。他们从20世纪50年代开始,打下了计算机学科和人工智能的理论基础。 第二次是我在清华大学期间,研究者们看到了一些人工智能应用的可能性,比如机械手、机器人、专家系统。最近,基于大数据、机器学习的人工智能再次兴起,可以称为人工智能的第三次浪潮 。

人工智能的三次浪潮

我来简单定义和解释一下本书用到的概念。

人工智能泛指让机器具有人的智力的技术。这项技术的目的是使机器像人一样感知、思考、做事、解决问题 。人工智能是一个宽泛的技术领域,包括自然语言理解、计算机视觉、机器人、逻辑和规划等,它可以被看作计算机专业的子领域,除了和计算机相关,它还和心理学、认知科学、社会学等有不少交叉。

机器学习指计算机通过观察环境,与环境交互,在吸取信息中学习、自我更新和进步。 大家都了解计算机程序是怎么回事,一个程序是计算机可以执行的一系列的指令,比如打印一张图。那么机器学习跟我们熟知的程序的本质区别是什么呢?你可以想象,某个程序是机器写的,而不是一个程序员写的。那么机器怎么知道如何写这个程序呢?这个机器就是从大量的数据当中学到的。

简单地说,大多数机器学习算法可以分成训练(training)和测试(testing)两个步骤,这两个步骤可以重叠进行。训练,一般需要训练数据,就是告诉机器前人的经验,比如什么是猫、什么是狗、看到什么该停车。训练学习的结果,可以认为是机器写的程序或者存储的数据,叫模型(model)。总体上来说,训练包括有监督(supervised learning)和无监督(unsupervised learning)两类。有监督好比有老师告诉你正确答案;无监督仅靠观察自学,机器自己在数据里找模式和特征。深度学习(deep learning)是机器学习的一种方法,它基于神经元网络,适用于音频、视频、语言理解等多个方面。

我们先来短暂地回顾一下人工智能的三次浪潮。它们有什么特点?又有什么不同?它们又是怎样互相联系,如何在前一次的基础之上建立的?

第一次人工智能浪潮大约在20世纪50年代。1956年,在达特茅斯的人工智能研讨会上,约翰·麦卡锡正式提出“人工智能”这个概念,被公认是现代人工智能学科的起始。麦卡锡与麻省理工学院的马文·明斯基(Marvin Minsky)被誉为“人工智能之父”。

在计算机被发明的早期,许多计算机科学家们就认真地思考和讨论这个人类发明出来的机器,和人类有什么根本区别。图灵机和图灵测试,就是这个思考的一个最典型结果。最初的那批思考人工智能的专家,从思想和理论上走得非常前沿,内行的专家很早就看到了计算机的潜力。我们现在所问的这些问题,他们其实都问过了。比如,什么叫“推理”(reasoning), 机器如何推理;什么叫“懂得”(understanding),机器如何懂得;什么叫知识(knowledge),机器如何获取和表达知识;什么时候,我们无法分辨出机器和人。这个阶段产生了许多基础理论,不仅是人工智能的基础理论,也是计算机专业的基石。

从技术上来说,第一次人工智能的大发展,主要是基于逻辑的。1958年麦卡锡提出了逻辑语言 LISP。从20世纪50年代到20世纪80年代,研究者们证明了计算机可以玩游戏,可以进行一定程度上的自然语言理解。 在实验室里,机器人可以进行逻辑判断、搭积木;机器老鼠可以针对不同的路径和障碍做出决定;小车可以在有限的环境下自己驾驶。研究者们发明了神经网络,可以做简单的语言理解和物体识别。

然而,在人工智能的前二三十年里,它虽然是一个硕果累累的科研领域,人们实际生活中的用处却几乎没有。20世纪80年代初,人工智能因为缺乏应用而进入“冬季”。到80年代末和90年代初,在我刚入大学的那段时间里,人工智能科学家们决定另辟蹊径,从解决大的普适智能问题,转向解决某些领域的单一问题。“专家系统”这个概念被提了出来,它让这些研究成果找到了第一个可能的商业出路。

计算机技术经过了30年左右的发展,数据存储和应用有了一定的基础。研究者们看到人工智能和数据结合的可能性,而结合得最好的应用就是“专家系统”。如果我们能把某一个行业的数据,比如说关于心脏病的所有数据,都告诉一个机器,再给它一些逻辑,那这个机器岂不是就成了“心脏病专家”,如果我们要看病,是否就可以问它?

看病、预报天气等各行各业的专家系统,听起来非常有希望、有意义,也确实有实际的应用场景,所以当时学术界对人工智能又掀起了一阵热潮。然而,比较有意思的是,当我们想要用这些专家系统来做一些聪明的诊断的时候,我们发现遇到的问题并不是如何诊断,而是大部分的数据在当时还不是数字化的。病人的诊断历史还停留在看不懂的医生手写处方上。有些信息就算是已经开始数字化,也都是在一些表格里面,或者是在一些不互相连接的机器里面,拿不到,用不了。

于是,我们这一批想去做自动诊断的人,反而去做了一些基础的工作。这个基础的工作用一句话说,就是把世界上所有的信息数字化。

在一批人致力于把世界上每一本书、每一张图、每一个处方都变成电子版的时候,互联网的广泛应用,又把这些信息相互联接了起来,成了真正的大数据。同时,摩尔定律(Moore’s law)预测的计算性能增加一直在起作用。随着计算能力的指数增长,那些只能在实验室里或有限场景下实现的应用,离现实生活越来越近了。1997年,“深蓝”打败当时的世界象棋冠军Garry Kasparov,和2017年AlphaGo围棋打败李世石一样,被公认是一个里程碑 。其实,随着计算能力的提高,在这些单一的、有确定目标的事情上机器打败人,都只是个时间问题。

第三次的人工智能浪潮就是基于另外两个技术领域的大发展,一个是巨大的计算能力,一个是海量的数据。巨大的计算能力来自于硬件、分布式系统、云计算技术的发展。最近,专门为神经网络制作的硬件系统(neural-network-based computing)又一次推动了人工智能软硬件结合的大进步。海量的数据来源于前几十年的数据积累和互联网技术的发展。比如,2001年上市的GPS系统,带来前所未有的大量出行数据;智能手机带来了前所未有的人们生活习性的数据,等等。计算能力和数据的结合,促进、催化了机器学习算法的飞跃成长。

这次的人工智能浪潮起始于近10年。技术的飞跃发展,带来了应用前所未有的可能性。最近这次人工智能浪潮和前两次最基本的不同是它的普遍应用和对普通人生活的影响。也就是说,人工智能离开了学术实验室,真正走进大众的视野。

人工智能全面逼近人类能力?

为什么这次人工智能浪潮如此凶猛?人工智能真的全面逼近了人类的能力吗?人工智能技术现在发展到什么阶段?我们先来看3个简单的事实。

首先,历史上第一次,计算机在很多复杂任务的执行上超过人类或者即将超过人类,比如图像识别、视频理解、机器翻译、汽车驾驶、下围棋,等等。这些都是人们容易理解的,一直由人类完成的任务。所以,人工智能取代人类的话题开始出现在各种头条。

其实,在单一技术方面,许多计算相关的技术早已超过人类的能力,而且被广泛应用,比如导航、搜索、搜图、股票交易。不少人已经习惯于用语音给简单指令操作。但是,这些相对单纯的技术主要是“完成一个任务”,计算机没有过多地涉猎人的感知、思考、复杂判断,甚至于情感。

然而,近几年来机器完成的任务,从复杂性和形式越来越逼近人类。比如,基于机器学习的自动驾驶技术已经趋于成熟,这项技术不仅会对人们的出行方式有革命性的影响,而且会影响到城市建设、个人消费、生活方式。人们也许再也不需要拥有汽车,再也不需要会开车。大家对这类新技术的快速到来既兴奋又恐惧,一方面享受技术带来的便利,另一方面又对太快的变化有些手足无措。

另外,计算机的自学习能力不断增强。现代机器学习算法,尤其深度学习类机器学习算法的发展,使机器的行为不再是相对可预测的“程序”或者“逻辑”,而更像“黑盒思考”,有了近乎人类的难以解释的思考能力。

然而,仔细看来,虽然在不少特殊领域中,人工智能有了突飞猛进的发展,但是距离人工智能的鼻祖们在第一次浪潮时研究的通用智能(general purpose intelligence)其实还相差非常远。这是第二个事实。机器还是被放在特定情况下完成特定任务,只不过任务更复杂了。机器还是缺少一些最基本的人的智能,比如常识。人工智能仍然无法理解哪怕是简单的情感,比如害怕。对两三岁的孩子来说非常简单的帮忙、合作,机器都是做不到的。好比有人开玩笑说:“它们还是不会炒鸡蛋。”

第三个事实,是这次人工智能和机器学习的应用场景非常宽广。近几年人工智能和机器学习应用的大发展,这个曾经是学术研究领域的概念一时间进入大众视野,成为和未来相关的必谈话题。计算机视觉、深度学习、机器人技术、自然语言理解,都被提到应用层。算法类的应用走出学术界,深入社会的各个角落, 渗入人们生活的方方面面。大家熟知的有人脸识别、自动驾驶、医疗诊断、机器助手、智慧城市、新媒体、游戏、教育等,还有并不常被谈论的比如农业生产的自动化、老人和儿童的护理、危险情景的操作、交通调度,等等。我们很难想象社会的哪一个方面,不会被这次浪潮所波及。

向前看十年,人工智能和机器学习的大发展,在于这些技术的普及和应用。大批的新应用将会被开发,人工智能基础设施会迅速完善,原有的传统软件和应用需要被迁移使用新的算法。所以,现在是成为一个人工智能和机器学习专家的良机。

以上内容来自书籍《百面机器学习 》

此书已加入到VIP会员卡,只要购买VIP会员卡即可免费阅读上百本电子书,这张VIP卡除了免费让你读书,还有更多的权益等你来领,往下↓拉
在这里插入图片描述

阅读电子书的方法如下:

打开CSDN APP(软件商城搜索“CSDN”即可找到哦)—>登录CSDN账号—>学习—>电子书

在这里插入图片描述

扫码入群

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我与人工智能的故事 的相关文章

  • 堡垒之夜 服务器显示离线,堡垒之夜怎么是离线状态 | 手游网游页游攻略大全...

    发布时间 xff1a 2017 09 15 堡垒之夜武器要怎么选择 哪个厉害 很多小伙伴可能都不太了解 下面牛游戏小编就为你们带来了堡垒之夜新手武器选择攻略 想了解的小伙伴就一起来看看吧 希望对你们有帮助 武器选择 相信绝大多数的新手都会认
  • 配置通过STelnet登录系统

    文章内容简介及注意的事项和补充说明 1 本文使用的软件是eNSP xff0c 由于eNSP模拟软件自带PC没有SSH用户端 xff0c 本实验采用两台路由器模拟实验 路由器R1作为SSH的Client 路由器R2作为SSH的Server 2
  • 媒体服务器文件夹显示不全,长文件名显示不全的解决办法

    首页 gt 新闻动态 长文件名显示不全的解决办法 很多时候我们为了方便 xff0c 会给文件取一些很长的文件名 xff0c 十几个汉字算是小意思了 xff0c 有的直接就将内容概要放入文件名中 虽然现在的操作系统都支持这样的长文件名 文件名
  • 服务器启动显示配置内存溢出,服务器解决内存溢出启动

    服务器解决内存溢出启动 内容精选 换一换 华为云帮助中心 xff0c 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 xff0c 帮助您快速上手使用华为云服务 调用API出错后 xff0
  • 官方源码包安装MariaDB-server10.6.8

    文章目录 官方源码包安装MariaDB server10 6 81 下载源码包 xff0c 解压文件2 安装依赖和创建运行用户3 编译安装4 修改环境变量5 初始化数据库 xff0c 默认以root用户登录 xff0c 初始无密码6 启动测
  • 多实例启动mariadb10.6.8(源码安装)

    文章目录 多实例启动mariadb10 6 8 xff08 源码安装 xff09 1 源码安装mariadb10 6 8的情况介绍2 多实例配置2 1 创建各种配置文件2 2 创建启动脚本2 3 配置启动脚本并启动服务2 4 连接测试2 5
  • 基于tensorflow的图像处理(一)TFRecord输入数据格式

    参考 基于tensorflow的图像处理 一 TFRecord输入数据格式 云 43 社区 腾讯云 TensorFlow提供了一种统一的格式来存储数据 xff0c 这个格式就是TFRecord xff0c TFRecord文件中的数据都是通
  • RabbitMQ一对多使用

    在开发工作中 xff0c 我们使用RabbitMQ进行系统之间数据的同步 xff0c 最初使用是一对一的情况 xff0c 其实MQ也有一对多和多对多的情况 xff0c 工作实际也需要一对多 xff0c 写了小demo来试试 Applicat
  • 在Centos系统下git 遇到fatal: HTTP request failed,error: while accessing ;SSL connect error错误

    在Go项目中go get的时候遇到以下错误 src github com lib pq git error while accessing https github com lib pq info refs fatal HTTP reque
  • Gazebo学习笔记(一)

    搭建一个移动车 ctrl 43 m 进入到gazebo编辑界面 ctrl 43 m 进入到gazebo编辑界面 1 搭建一个车底盘 xff0c 选择simple shapes 的box xff0c 点击后在编辑框中释放 2 利用resize
  • ubuntu 安装openssl-devel

    需要安装openssl devel xff0c Github上的说明要用yum工具安装 xff0c 反复安装不上 xff0c 提示没有repos xff08 回购 xff09 xff0c 最后找到了方法 在Ubuntu系统里这是分开的两个
  • 1分钟教会你二进制撩妹(汉)读心术

    近些年来 xff0c 小魔发现 xff0c 对于年轻的男女而言 xff0c 一些传统的节日似乎都变成了情人节或者脱单节 xff0c 就连 光棍节 xff0c 实际上很多人都是抱着节前或者是当天脱单而过的 双11 光棍节 即将来临 xff0c
  • VLAN基础配置及Access接口、Trunk接口、Hybrid接口

    文章说明 xff1a 1 本文使用的软件是eNSP 2 退到下一层用命令quit xff0c 简写q 3 部分命令使用的是简写 和完整命令一样的作用 xff0c 按键盘上的 34 Tab 34 建可自动补全命令 用于查询的命令 xff1a
  • c++pthread多线程消费者问题

    分布式选修课上讲了多线程编程 xff0c 布置了一个生产者消费者的作业 xff0c 觉得挺有意思 xff0c 并且网络上的消费者问题多使用c语言编写 xff0c 故在此记录c 43 43 解决方法 由于是消费者线程各自计数 xff0c 故使
  • 红包动画

    lt DOCTYPE html gt lt html lang 61 34 en 34 data dpr 61 34 1 34 style 61 34 font size 32px 34 gt lt head gt lt meta char
  • Android中<xliff:g></xliff:g>的用法

    在查阅修改Android源码的过程中经常能在字符串资源中看到类似下面的标签 xff1a span class hljs tag lt span class hljs title resources span span class hljs
  • vue单文件组件的格式规范

    lt template gt lt template gt lt script gt export default name 39 39 mixins components props data return computed watch
  • Linux命令行安装weblogic12c

    Linux命令行安装weblogic12c 一 安装jdk 若已安装可跳过 1 Oracle官网下载jdk linux安装包 2 卸载linux系统中自带的jdk 使用rpm qa grep java查询出系统自带的jdk xff1b 使用

随机推荐

  • Ubuntu 远程免密码登录设置

    我们正常使用 ssh 远程登录服务器进行操作 xff0c 需要输入用户名 服务器ip以及密码 xff0c 当我们需要同时管理多个服务器的时候 xff0c 每次都需要重复输入这些东西会显得特别麻烦和浪费时间 xff0c 因此我们可以通过配置密
  • Mybatis resultMap启动时报错:Could not resolve type alias userResultMap Cannot find class: userResultMap

    MyBatis中在查询进行select映射的时候 xff0c 返回类型可以用resultType xff0c 也可以用resultMap xff0c resultType是直接 表示返回类型的 xff0c 而resultMap则是对外部Re
  • synchronized-锁总结

    目录 一 相关知识点 1 1 对象头 1 2 锁相关概念 1 3 查看对象头工具 二 锁流程 2 1 加锁 xff1a monitorenter 2 2 释放锁 xff1a monitorexit 一 相关知识点 在 JDK1 6 之前 x
  • 软件工程师校招面试救急包

    LeetCode牛人总结 xff08 手撕代码前看看 xff0c 抱佛脚 xff09 https github com labuladong fucking algorithm blob master README md 剑指offer x
  • 微信SDK中含有的支付功能怎么去掉?

    一 说在前面的话 这两天遇到一个特别让我DT的问题 xff0c 估计大家通过标题就能知道问题了 没错 xff0c 就是在应用中集成了微信SDK后 xff0c 它自动支持了微信分享 登录 收藏 支付等功能 这一点没啥 xff0c TM的关键点
  • Android中图片的镂空效果(不规则图形的镂空)

    一 说在前面的话 我们在做新手引导时 xff0c 经常会遇到凸显某一块功能时需求 xff0c 类似于下图 xff1a 看到这个功能点可能会有点头大 xff0c 不过好在Android为我们提供一个美好的工具 xff1a PorterDuff
  • 利用三层交换机实现VLAN间路由

    原理概述 xff1a VLAN将一个物理的LAN在逻辑上划分成多个广播域 VLAN内的主机间可以直接通信 xff0c 而VLAN间不能直接互通 在现实网络中 xff0c 经常会遇到需要跨VLAN相互访问的情况 xff0c 工程师通常会选择一
  • Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x7f0400cd a=7 r=0x7f06006e}

    今天在开发时 xff0c 遇到一个程序的Bug xff0c 记录一下 在Dialog中展示一个布局 xff0c 布局中包含了TextView报了下面的错误 xff0c 最开始还以为是颜色设置的问题 xff0c 反复核对了一下颜色设置并没有问
  • TextView的TextColor中使用selector的问题

    在TextView中如果设置选中 点击 获取焦点时 xff0c 文字颜色发生改变时 xff0c 一般我们会通过代码中设置 不过Android给我们提供了一个更简洁的方式 xff0c 就是通过selector去改变 只需要在Res目录下创建一
  • 彻底理解Java中堆和栈的区别

    1 概述 在Java中 xff0c 内存分为两部分 xff0c 一种是堆内存 xff0c 另一种就是栈内存 2 Java中变量在内存中的分配 1 类变量 static修饰的变量 xff1a 在程序加载时系统就为它在堆中开辟了内存 xff0c
  • 深入了解多线程的原理

    说在前面的话 使用多线程的目的 在多个CPU核心下 xff0c 多线程的好处是显而易见的 xff0c 不然多个CPU核心只跑一个线程其他的核心就都浪费了即便不考虑多核心 xff0c 在单核下 xff0c 多线程也是有意义的 xff0c 因为
  • An operation is not implemented: not implemented被坑之路[Kotlin]

    吐槽一下 xff0c 程序猿的辛酸史 今天在开发新项目时 xff0c 首次使用了Kotlin语言 xff0c 对于之前只在纸上谈兵 xff0c 未在项目中使用过的码农 xff0c 很是一脸懵逼 但是迫于公司的要求 xff0c 只能硬头皮冲吧
  • 开发Android Camera—使用Kotlin语言,完成第一个自定义相机

    对于首次使用Kotlin语言开发 xff0c 在网上苦于寻找不到Kotlin语言编写的相机代码 xff0c 故写下这篇博客 好了 xff0c 咱们进入主题 在Android 5 0 xff08 SDK 21 xff09 中 xff0c Go
  • Android ConstraintLayout性能分析

    这篇文件是讲述ConstraintLayout性能的分析 xff0c 如果对于使用ConstraintLayout不是很了解的情况下 xff0c 请查看Android ConstraintLayout完全解析和性能分析 xff08 章节一
  • 针对drawableStart(Top、End、Bottom)边距的设置-Android布局技巧

    作为Android程序猿 xff0c 在开发布局的过程中 xff0c 我们的宗旨是能用一个View完成的效果 xff0c 绝不会用两个View或者嵌套View来完成 至于它的好处 xff0c 就不言而喻了吧 不懂的自行到网上看 xff0c
  • markdown基本语法

    转载自 Cmd 技术渲染的沙箱页面 xff0c 点击此处编写自己的文档 Cmd Markdown 简明语法手册 标签 xff1a Cmd Markdown 1 斜体和粗体 使用 和 表示斜体和粗体 示例 xff1a 这是 斜体 xff0c
  • unix环境高级编程——UNIX体系架构

    本期主题 xff1a unix环境高级编程 UNIX体系架构 文件IO 0 初始UNIX1 系统调用2 库函数2 1 C语言的运行库 3 shell 0 初始UNIX 这里略过unix的历史不讲 xff0c 网上有比较详细的资料 我们可以将
  • HTML基础<1>

    一 图片标签与超链接 lt br gt 是空格 lt hr gt 是横线 lt img src 61 34 34 width 61 34 34 height 61 34 34 gt lt a href 61 34 https www bai
  • Android Lottie动画

    Android Lottie动画 在Android中 xff0c 往往UI会让写一些动画效果 xff0c 比如启动页心形跳动 xff0c 返回效果等 一般我们在项目中常用的动画无非是以下几种 xff1a 普通动画帧动画属性动画通过改变Lay
  • 我与人工智能的故事

    本文作者 xff1a 诸葛越 前 言 人工智能的三次浪潮 2018年年初 xff0c 招聘季正如火如荼地进行 xff0c 而 数据科学家 和 算法工程师 绝对算得上热门职业 人工智能 机器学习 深度学习 建模 卷积神经网络 等关键词 xff