读算法简史:从美索不达米亚到人工智能时代14加密货币
1. DeepMind
1.1. DeepMind首次引起科学界更广泛的关注是由于它在《自然》杂志上发表的一篇论文
- 1.1.1. 这篇论文描述了一个人工神经网络,DeepMind训练它来玩雅达利(Atari)电子游戏
1.2. 雅达利电子游戏是20世纪80年代的经典投币街机游戏,包括《太空侵略者》(Space Invaders)、《打砖块》(Breakout)和《运河大战》(River Raid)
1.3. DeepMind的神经网络将屏幕图像作为输入,它的输出是游戏的控制信号——对操纵杆的摇动和对按钮的按压
- 1.3.1. ANN就取代了人,成为游戏玩家
2. AlphaGo
2.1. 谷歌是AlphaGo-李世石对战的赞助商
-
2.1.1. 奖金定为100万美元
-
2.1.2. 如果是计算机赢了,奖金就会捐给慈善机构
2.2. 围棋棋盘的大小是国际象棋棋盘(8×8)的5倍多
-
2.2.1. 玩一局围棋平均要行150手
-
2.2.2. 每行一手棋,围棋棋手都必须思考大约250种可能性
-
2.2.3. 250150,或者说10359
-
2.2.4. 围棋比国际象棋复杂10^226倍
2.3. AlphaGo成功的秘诀在于它的算法,而不是硬件
-
2.3.1. 当时最强大的超级计算机——中国的“天河二号”——拥有310万个中央处理器
-
2.3.2. 相比之下,AlphaGo逊色多了
-
2.3.2.1. 以2016年的标准来看,AlphaGo的硬件很普通
-
2.3.2.2. 在比赛中,AlphaGo在谷歌某个联网数据中心的计算机上运行,占用1920个中央处理器和280个图形处理器
-
2.4. AlphaGo使用ANN来评估棋局
- 2.4.1. AlphaGo的神经网络是杨立昆发明的用于识别数字的卷积神经网络的一个更大版本
2.5. AlphaGo使用了3种神经网络
-
2.5.1. 价值网络(value network)
-
2.5.1.1. 价值网络估计从给定棋局行棋的获胜概率
-
2.5.1.2. 价值网络对树搜索结束时的位置进行评分
-
-
2.5.2. 策略网络(policy network)
-
2.5.2.1. 策略网络为树搜索提供指导
-
2.5.2.2. 它根据一个棋局前景如何来对其进行评分
-
2.5.2.3. 如果一个棋局看起来可能会在未来取得胜利,那么它就会获得很高的策略分数
-
2.5.2.4. 只有策略得分高的棋局才会被更深入地探索
-
-
2.5.3. 监督学习价值网络(SL-value network)
-
2.5.3.1. 这个网络被训练成像人类那样对棋局评分
-
2.5.3.2. 其他神经网络的目标是确定真正的获胜概率
-
2.5.3.3. 监督学习价值网络让计算机能够预测人类棋手最有可能的行棋方式
-
-
2.5.4. 这3个神经网络是AlphaGo与以前的围棋计算机之间的主要区别
2.6. AlphaGo的神经网络经过了3个阶段的训练
-
2.6.1. 在第1阶段,使用监督学习来训练监督学习价值网络
-
2.6.2. 在第2阶段,对监督学习价值网络进行打磨以创建出策略网络
-
2.6.2.1. 这一次,他们使用了强化学习(reinforcement learning)
-
2.6.2.2. AlphaGo与自己的老版本进行了120万次对弈
-
-
2.6.3. 在第3阶段,团队使用策略网络来作为价值网络的种子
-
2.6.3.1. 再次使用了强化学习,但并不是从头开始下棋,而是使用KGS数据库中的中间棋局作为训练起点
-
2.6.3.2. 为了完成价值网络的训练,又进行了3000万次对弈
-
2.7. AlphaGo的ANN的准确性来自3个因素的综合作用
-
2.7.1. 深度ANN非常擅长学习输入和输出之间的复杂关系
-
2.7.2. 在训练过程中,网络接受了大量数据的洗礼
- 2.7.2.1. 在备战的过程中,AlphaGo研究了大量围棋着数,数目远超过任何人类考察的着数
-
2.7.3. 算法和硬件的进步使这些大型网络能够在合理的时间范围内完成训练
2.8. 对围棋和国际象棋大师的思维过程进行分析可见,他们评估的棋局比AlphaGo少得多
-
2.8.1. 人类的树搜索比计算机的窄得多,也浅得多
- 2.8.1.1. 人类的模式识别必然比AlphaGo高效许多
-
2.8.2. AlphaGo则以更快的处理速度弥补了这一不足
-
2.8.2.1. 机器要比人类评估更多的棋局
-
2.8.2.2. AlphaGo对神经元行为的高速电子模拟,使它能够在树搜索中评估更多棋局
-
2.9. 2017年5月,AlphaGo以3比0的比分击败了19岁的柯洁
3. AlphaGo Zero
3.1. AlphaGo Zero采用了简化的树搜索和仅仅一个神经网络
-
3.1.1. 这个单一的双头网络取代了其前身的策略网络和价值网络
-
3.1.2. AlphaGo Zero使用了一种全新的、更有效的、完全基于强化学习的训练方式
3.2. 它已经不再需要人类行棋数据库
-
3.2.1. AlphaGo Zero在短短40天内从零开始自学了如何下围棋
-
3.2.1.1. 在此期间,它下了2900万局围棋
-
3.2.1.2. 在短短的40天里,这台计算机不仅自学了下围棋,并且比任何人类都下得更好
-
3.3. 机器在两手棋之间只能有5秒的处理时间
3.4. AlphaGo Zero与击败柯洁的AlphaGo版本进行了测试对战
- 3.4.1. AlphaGo Zero以100比0获胜
3.5. AlphaGo Zero绝对称得上拥有超人智能
3.6. AlphaGo Zero采用了以前不为人知的制胜策略
-
3.6.1. 柯洁开始在自己的战略库中加入新的战术
-
3.6.2. 人类的大师们现在成了机器的学徒
-
3.6.3. 生物神经网络正在向这个受它们的启发而诞生的东西学习
3.7. AlphaGo Zero是一个通用问题解决器的原型
-
3.7.1. 其软件中嵌入的算法可以被用于解决其他问题
-
3.7.2. 这种能力将使ANN能够快速承担新任务并解决它们以前从未见过的问题
- 3.7.2.1. 迄今为止只有人类和高级哺乳动物才能做到这一点
4. AlphaZero
4.1. 通用问题解决能力的第一个信号出现在2018年《自然》杂志的一篇论文中
- 4.1.1. DeepMind团队训练了一个名为“AlphaZero”的ANN来下围棋、国际象棋和将棋(Shogi)
4.2. AlphaZero完全是通过自我对战学会玩这3种游戏的,这并不令人感到特别惊讶
4.3. AlphaZero在这3种棋类的比赛中分别击败了此前的世界冠军程序(Stockfi sh、Elmo和AlphaGo Zero),这也不是特别令人惊讶的事情
4.4. 令人瞠目结舌的是,从随机对弈开始,AlphaZero只用了9个小时就学会了国际象棋,12个小时就学会了将棋,13天就学会了围棋
- 4.4.1. 人类的头脑开始相形见绌了
5. 加密货币
5.1. 第一种算法是支撑加密货币(cryptocurrency)的算法
5.2. 加密货币是一种货币形态,仅以信息的形式存在于计算机网络中
5.3. 世界上第一种加密货币——比特币
5.4. 加密货币起源于20世纪90年代开始的密码朋克(Cypherpunk)运动
- 5.4.1. 密码朋克是由熟练的密码学家、数学家、程序员和黑客组成的松散组织,他们信仰电子隐私的必要性
5.5. 在一个开放的社会中,保护隐私需要用到密码学
-
5.5.1. PGP为邮件用户提供RSA加密功能
-
5.5.2. Tor让人们能够匿名浏览网页
5.6. 3个关键优势
-
5.6.1. 加密货币不受中央机构的管控
-
5.6.1.1. 比特币没有中央银行
-
5.6.1.2. 这种货币是由计算机网络管理的
-
5.6.1.3. 任何人都可以加入这个网络,不需要填申请表
-
-
5.6.2. 用户是匿名的,前提是他们不将加密币(cryptocoin)兑换成传统货币
- 5.6.2.1. 通过公钥加密对隐私进行保护。任何人都可以成为用户
-
5.6.3. 交易费用低,营业税为零
- 5.6.3.1. 加密币可以跨国传送而不产生货币兑换费用
5.7. 中央机构保存着所有交易的分类账
- 5.7.1. 分类账相当于100年前银行保存的纸质手写记录
5.8. 设计加密货币的困难在于不设置一个中央机构
-
5.8.1. 理想的情况是有一个分布式的计算机网络来维护分类账
-
5.8.2. 困难之处在于对这些分类账副本进行同步(即保持它们都是最新的)
-
5.8.3. 在互联网上,通信延迟是非常不可预测的
- 5.8.3.1. 计算机可以在任何时候加入或退出网络
6. 中本聪
6.1. 中本聪这个名字第一次出现是在最初的比特币白皮书发布时
6.2. 2008年10月31日,中本聪在一份白皮书中提出了双重支付问题的解决方案,该文件通过一个密码朋克邮件列表发布
- 6.2.1. 白皮书介绍了世界上第一个实用加密货币——比特币
6.3. 次年1月,中本聪发布了比特币的源代码和原始比特币区块[又称起源(genesis)比特币区块]
6.4. 中本聪在密码朋克的邮件列表中继续活跃了几年,然后在2010年,中本聪将比特币源代码的控制权交给了加文·安德烈森(Gavin Andresen)
6.5. 2011年4月中本聪宣布:我已经去做其他事情了。它在加文和大家手里会很好。
- 6.5.1. 除了少数几条消息(其中大部分现在被认为是恶作剧)外,这是人们最后一次听到中本聪的消息。
6.6. 要解开这个谜,需要做的就是解密使用中本聪公钥发送的消息
- 6.6.1. 能够这样做的个人或群体必须拥有中本聪的私钥
6.7. 中本聪拥有的110万枚比特币仍未动用
7. 比特币
7.1. 比特币之所以有价值,是因为人们相信它有价值
-
7.1.1. 钞票那张纸本身没有什么内在价值
- 7.1.1.1. 它的价值来自你对于它能够交换有价值的东西的期望
7.2. 公钥的作用是作为比特币上用户的ID
7.3. 发送方的加密密钥用于在交易中核验(authenticate)身份
7.4. 数字签名是通过使用发送方的私钥对交易摘要进行加密来创建的
-
7.4.1. 公钥用于加密,私钥用于解密
-
7.4.2. 为了生成签名,要将这个过程反过来
-
7.4.3. 私钥用于加密,公钥用于解密
- 7.4.3.1. 这意味着任何人都可以检查签名,但只有发送方可以创建签名
7.5. 数字签名确保交易在途中不被篡改
-
7.5.1. 对讯息的任何更改都会改变其摘要
-
7.5.2. 结果是计算出的摘要将与解密后的摘要不能匹配
7.6. 交易摘要通过散列(hashing)算法计算
- 7.6.1. 散列算法将大量文本压缩为更短的字符序列
7.7. 摘要通常称为消息的散列(hash)
- 7.7.1. 比特币中使用的散列函数本质上是一种高级的校验和算法
7.8. 比特币的早期应用者是在线黑市上的买家和卖家
-
7.8.1. 非法购买毒品推动了比特币在暗网上的涌现
-
7.8.2. 起初,它主要的吸引力是匿名性
7.9. 随着时间的推移,合法组织开始接受比特币支付
7.10. “比特币基地”(Coinbase)成立于2012年,是一家数字货币经纪商
7.11. 2011年,一个比特币值30美分
7.12. 2014年,微软开始接受用比特币在线购买Xbox游戏
7.13. 2017年12月18日,价格飙升至19498.63美元
7.14. 挖矿比特币似乎是一种从无到有创造钱的方式
-
7.14.1. 计算机的成本和它所消耗的电力是实实在在的
-
7.14.2. 2019年全球比特币挖矿的收入超过80亿美元,成本超过30亿美元
-
7.14.3. 挖矿的回报每4年减半
-
7.14.4. 最终,大约将发行2100万枚比特币
8. 区块链
8.1. 交易被确认(confi rmed)并记录(logged)
8.2. 区块的链条(或称区块链)就是分类账
8.3. 区块链的链接是通过在下一个区块中包含前一个区块的ID来形成的
8.4. 试错是找到合适数字的唯一方法
8.5. 通过验证区块来获得比特币的过程被称为挖矿(mining)
-
8.5.1. 起源区块的验证向中本聪发放了50个比特币
-
8.5.2. 网络计算机的所有者也会因为维护分类账而得到奖励
8.6. 区块链提供了一个安全的分布式分类账,独立于加密货币发行方
-
8.6.1. 区块链可以追踪和执行对任何形式的交易进行排序
-
8.6.2. 其可能的应用领域有验证法律合同、维护在线身份、记录医疗历史、验证媒体报道信源和追踪供应链
-
8.6.3. 区块链可能会重塑许多行业的运营模式,并最终证明自己比比特币本身更有用
9. 量子计算机
9.1. quantum computer
9.2. 比特币非常依赖RSA公钥的加解密来确保用户的匿名性并提供交易核验
9.3. RSA算法的安全性建立在这样一个假设上:对于很大的数,不存在快速的素因数分解算法
9.4. 费曼
-
9.4.1. 传统计算机永远无法精确模拟亚原子粒子的行为
-
9.4.2. 可以利用亚原子粒子的怪异行为来进行不可思议的高速计算
9.5. 在量子世界中,粒子可以同时处于多种状态
- 9.5.1. 这种奇怪的行为可以用叠加原理(principle of superposition)来概括
9.6. 量子比特(quantum bit,或简写为qubit)
9.7. 测量量子比特的值会使它的状态坍缩(collapse)
- 9.7.1. 这意味着当测量量子比特的物理状态时,它会稳定到某一个值
9.8. 量子计算机非常适合求解那些需要评估许多备选方案并返回单一结果的问题
-
9.8.1. 这完全符合量子计算机的架构,前提是可以找到次优解决方案来实现干涉
-
9.8.2. 对于解决组合优化问题来说,量子计算机的性能远远超过世界上最快的超级计算机
9.9. 肖尔寻找素因数的算法在传统计算机上运行缓慢,但非常适配量子计算机
-
9.9.1. 在量子计算机上,由于叠加原理的作用,这些乘法可以同时执行
-
9.9.2. 之后,可以使用量子傅里叶变换来消除那些除最强重复模式之外的所有重复模式
9.10. 理论上,72个量子比特应该就能提供强大的计算能力
- 9.10.1. 在实际应用中,量子噪声(quantum noise)会影响性能
9.11. 亚原子粒子状态的微小波动可能导致计算错误
-
9.11.1. 研究团队通过将一些量子比特用于错误纠正来弥补这一点
- 9.11.1.1. 缺点是可用于计算的量子比特就减少了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
2024-02-13 读千脑智能笔记12_阻止人类灭绝
2023-02-13 读Java实战(第二版)笔记08_默认方法