1. 现代算法 1.1. 知识不仅建立在真理之上,也建立在错误之上。 1.1.1. 卡尔·荣格(Carl Jung) 1.2. 现代算法是可以自学的,尤其是推荐系统算法,它可以根据每个人的喜好推荐有趣的东西给我们 1.2.1. 算法通过与用户之间的交互过程,获取用户的个人偏好信息,并从中学习进一步完善自身,发现其中的关联关系,以便为下一位用户提供更优质的推荐信息 1.2.2. 比如说适合的电影、书籍、音乐,等等 1.3. 人机交互给算法提供了持续学习的新数据,使它可以不断进行自我调整以适配我们的喜好 1.3.1. 在当今社会,这些算法在我们做出各种抉择时发挥了巨大作用:选择电影、音乐、书籍,甚至伴侣,等等 1.4. 机器学习的一个重要特点是,人类必须参与到数据的分类过程中,以便让机器知道它所看到的到底是什么 1.5. 从最原始的数据中学习并发现模式是训练算法最好的方式 1.5.1. 事实上,原始数据所蕴含的信息远比我们想象的要多 1.5.2. 它们有发掘新事物的潜力 1.5.2.1. 深度学习算法提取出了人类无法用语言描述和表达的特征信息 1.5.2.2. 就好比在没有建立颜色的概念,也没有红色或蓝色这种表示颜色的词汇的情况下,仅仅通过我们对所见事物表现出的好恶,计算机就能帮我们实现蓝色和红色的分类 1.6. 数据像是一种新型“石油”,而我们却把它“倒”在互联网上了 1.6.1. 谁拥有这些数据以及如何利用好这些数据,将是我们走向由这种新型“石油”推动的未来时,社会将要面临的一个重大问题 2. 电影推荐系统 2.1. 电影推荐系统的算法原理比较简单 2.1.1. 假定你喜欢电影A、B和C,而另一个用户也喜欢它们,但他还喜欢电影D,那么,D极有可能也是你所喜欢的 2.1.1.1. 现实中数据之间的逻辑关系并非如此简单 2.1.2. 算法通过查看你所提供的信息,分析出你喜欢某类电影的原因,进而会把你和那些曾经做出过相同选择的人匹配、关联到一起 2.1.3. 算法在用户浏览影片库的行为过程中拾取关键特征值 2.1.3.1. 计算机最终学会的是已知的知识,而不能发现新的潜在趋势,从而导致计算机形成拟人态的思维定式 2.2. 如果希望借助计算机找出数据中包含的信息,那么就需要降维处理 2.2.1. 电影和用户就像脸上一个一个的点,以一个角度投影,可能会看到这些点连成一条线,而以另外的一个角度投影,则可能并不会发现有明显的信息出现 2.2.2. 将高维空间中的电影和用户对应的点同时投射到一个二维平面上,这样用户对应的点就会非常接近他喜爱的电影所对应的点 2.2.2.1. 巧妙之处就在于,能够寻找到揭示影片、用户所具有的潜在特征的合适投影 2.2.3. 巧妙之处就在于,能够寻找到揭示影片、用户所具有的潜在特征的合适投影 2.2.4. 将高维空间投射到这20个特征所构建的20维空间中 2.2.4.1. 剧情片聚集在右上角,动作片聚集在左下角 2.2.5. 借助计算机强大的运算能力,从海量的投影方案中挑选出最好的那一个 2.2.5.1. 这正是计算机的强大之处,它的这种能力是人类的大脑和眼睛所无法企及的 2.3. 存在太多的因素影响着我们的决定,我们无法准确地描述出为什么喜欢某部电影 2.3.1. 决定个人偏好的人类代码遵循什么样的算法原理是隐性的,但计算机代码已经识别出了引导我们偏好的特征,而这些特征我们仅可凭直觉感知,却无法表达出来 2.3.2. 计算机代码在这一点上已经遥遥领先于人类了 2.4. 《断背山》因子 2.4.1. 她是一个未出柜的同性恋母亲,有关她对电影喜好的数据可能会暴露出她的性取向 2.4.2. 隐私权保护政策 3. 训练算法 3.1. 如果算法告诉你你可能会喜欢什么,那么就意味着你将永远都看不到算法认为你不喜欢的东西 3.2. 算法都采用了非线性或混沌理论的数学思想 3.2.1. 我和你喜欢的音乐风格只要略微不同,那么被推荐的歌曲将会大相径庭 3.2.2. 算法“连推带拉”地引导我从音乐库中挖到属于我自己的“宝石” 3.3. 电子邮件过滤器也是基于人机交互训练算法工作的 3.3.1. 电子邮件过滤器也是基于人机交互训练算法工作的 3.3.2. 只有在邮件有95%的概率是垃圾邮件的情况下,该邮件才应该进入“垃圾邮件”文件夹 3.3.3. 现在更酷的是:虽然算法的训练数据是一组普通的电子邮件,但你的日常行为也将教会它识别你感兴趣的事情 3.3.3.1. 算法会根据你所发出的邮件做出判断 3.3.4. 算法还会自主创建新的算法,用于从所有包含“糖尿病”一词的邮件中区分出垃圾邮件和正常邮件 3.3.4.1. 其方法是引入其他的关键词,例如“治愈” 3.4. 无人驾驶汽车也是基于这样的概率更新原理而设计的,虽然它的控制系统远比这复杂得多 3.4.1. 该算法根据感知所获得的道路、车辆位置和障碍物信息等,来控制车辆的转向和速度 4. 偏见和盲点 4.1. 人类的大脑不擅长进行概率分析,这是进化的失败 4.1.1. 机器学习可以看作对人类思维方式的补充,而不仅仅是简单的复制 4.2. 概率直觉感知力的构建必须基于大量的试验,然后从中发现可能的趋势性 4.2.1. 我们缺乏大量试验的机会,所以无法建立这种直觉 4.2.2. 从某种程度上来说,机器代码的发展弥补了人类大脑在数据交互方面低速率的缺陷 4.3. 机器掌握了人类所不具备的一项技能:对海量数据进行分析,并从中发掘出有价值的信息 4.4. 概率是机器学习的核心 4.4.1. 宇宙是由数学方程控制的,科学家的任务是发现其中蕴含的规律并用它们来预测未来 4.4.2. 量子物理理论认为,世界就像上帝在玩骰子,结果具有不确定性,取决于事件发生的概率 4.4.3. 概率思想主导下形成的算法具有非常强大的力量,这或许是为什么在新算法的世界中,那些受过物理思维训练的人比数学学者显得更游刃有余 4.4.3.1. 这是理性主义与经验主义之间的对抗 4.5. 美军用神经网络训练机器识别坦克图片 4.5.1. 一个经典的反面教材 4.5.1.1. 暴露了机器学习的一个缺点:它有时会把某些关联误认为是因果关系 4.5.1.1.1. 并不总是能够确定这之间存在什么样的因果关系 4.5.2. 该算法的训练数据是一些带标签的图片(标记出哪些有坦克,哪些没有坦克) 4.5.3. 通过对这些图片进行分析,算法获得了识别坦克的重要特征 4.5.3.1. 研究小组只是获得批准有权使用坦克有限的几天,所以他们将坦克开到不同地方,拍摄了大量位于不同伪装位置的照片,但没注意到那些天一直都阴阴沉沉的 4.5.3.2. 返回后,他们拍摄了一些没有坦克的乡村照片,但那时的天空是异常晴朗的 4.5.4. 在分析了数百张带标签的图片之后,研究人员用一些算法从未见过的图片进行测试,结果非常振奋人心,识别准确率达到了100% 4.5.5. 只要图片拍摄于阴天,探测器就能做出正确的判断 4.5.5.1. 用这些照片作为训练数据,算法就误认为晴天和阴天也是区分坦克的重要特征 4.6. 机器是能够学习的,但前提是你要让它学习对的东西 4.7. 很多证据表明,算法中暗藏着歧视和偏见 4.7.1. 虽然针对大量的人脸图像进行了训练,但这些数据中黑色皮肤的面孔较少 4.7.2. 针对男性的声音进行训练的语音识别软件识别不了女性的声音 4.7.3. 某图像识别软件将黑人辨认为大猩猩 4.7.4. 护照照片拍摄软件不适用于亚洲人,原因是它始终认为他们在拍照时闭眼了 4.8. 法律体系也面临着考验,申请抵押贷款、应聘工作、申领社会福利被算法程序拒绝后,人们有理由知道为什么 4.8.1. 由于算法是基于数据交互构建决策树的,证明其决策的合理性并不容易 4.9. 人工智能领域一直呼吁开发一种元语言,机器可用它来证明自己的决策是合理的 4.9.1. 必须谨慎对待这些算法对日常生活的影响 4.9.2. 绝大多数算法都有其专长,不善于处理无规律的行为,当意料之外的事情出现时,算法只能选择将其忽略,而人类对这类场景却能表现出非凡的应变能力 4.10. 没有免费午餐的定理表明,在任何情境下都能做出准确预测的通用性算法是不存在的 4.10.1. 机器学习的目标不是建立放之四海而皆准的通用模型,而是构建关于特定问题有针对性的解决方案 4.11. 数据本身永远无法自给自足,它必须与知识相结合 4.11.1. 人类的思维和智慧似乎能更好地应对环境的变化并对全局进行把控 5. 机器之间的战争 5.1. 作为一个物种,人类之所以取得进步,是因为我们积累了知识,并以比最初获得知识时更有效的方式将知识传递了下去 5.2. 作为一个数学家,也是用上大学的几年时间快速学习了前辈们近几个世纪发现的数学理论,而不是凭借一己之力去重新发现所有的数学知识,以此站到学科前沿的 5.3. AlphaGo 5.3.1. 基础学习阶段 5.3.1.1. 通过检索就可以找到给对手致命一击的决胜杀招 5.3.1.2. 仅仅使用这个数据库还是不够的 5.3.2. 强化学习阶段 5.3.2.1. 从长远来看,它为算法自我的发展确立了优势,提供了可能 5.3.2.2. 算法通过自我对战、强化学习来提高对弈水平,即与之前的“自己”不间断地训练以提高下棋的水平 5.3.2.3. 如果某些有望获胜的棋招失败了,算法就会修改这些棋招的概率 5.3.2.4. 这种强化学习会综合生成大量的新数据,有助于算法发现自身可能存在的弱点 5.3.2.4.1. 局部最优是这种强化学习的弱点之一 5.3.2.4.1.1. “局部极大值” 5.3.3. 人类的下棋数据将算法导向了局部最优,而实际更优或者最优的下法与人类的下法存在一些本质的不同,即人类在事实上“误导”了AlphaGo 5.3.3.1. 算法很快就学会了如何重新评估自己的落子,以最大限度地提高再次获胜的概率 5.3.3.2. 是新对手把算法“逼下山”,促使它找到了再攀高峰的新方法 5.4. AlphaZero 5.4.1. 由于是通用棋类人工智能,因此去掉了代表围棋的英文“Go” 5.4.2. 没有使用人类的知识,从零开始训练,所以用“Zero” 5.4.3. 两者相结合就得到了“AlphaZero” 5.4.4. 它已不再学习人类的棋谱、走法,而是完全依靠自我对弈来迅速地提高棋艺,从而走出人类对围棋认知的局限与定式 5.4.4.1. 由“白板”状态开始“自学成才”是AlphaZero的独门秘籍 5.4.4.1.1. 白板指所有知识均由感官和经验而来,即从零开始的学习 5.4.4.2. 它已不再受人类的思维和游戏方式的限制了 5.4.5. AlphaZero自我训练的时间仅为3天,完成的自我对弈棋局数量就达到了490万盘 5.4.5.1. 人类花3000年才能实现的,它却只用了3天 5.4.5.2. 它打败了曾书写历史的各版本AlphaGo前辈 5.4.5.3. 在对阵曾赢下李世石那一版的AlphaGo时,AlphaZero取得了100:0的压倒性战绩 5.4.5.4. 经过40天的训练之后,它就所向披靡了 5.4.6. 它甚至能够在8小时内学会如何下国际象棋和日本将棋,水平甚至超过了市面上两个最好的国际象棋程序 5.5. 如果能够实现“白板”学习,就相当于拥有一个可以从围棋移植到其他任何领域的桥梁 5.5.1. 这种算法是通用的,它会将你从所在领域的细节中解放出来,它普遍适合于任何领域 5.5.2. AlphaGo并不是要打败人类,而是要发现做科学研究意味着什么,让程序能通过自学最终学习到哪些知识 5.5.3. 首先解决智力问题,然后用它来解决其他问题