preface
本人大三,目前已经学了几个基本的机器学习:决策树、感知机、贝叶斯、k近邻… 使用过 python 及 sklearn, 开始吧~
去年学的几个监督学习与非监督学习,都感觉有点远古了,去最新的机器学习网站逛一下:
推荐阅读:
发现几个有趣的关键词:
BERT
一种语言模型;
BERT的核心结构基于一种被称为Transformer的神经网络,从完成搜索查询和用户写的句子到语言翻译,如今,它已经成为一系列NLP应用的基础。
BERT起源于预训练的上下文表示学习,包括半监督序列学习(Semi-supervised Sequence Learning),生成预训练(Generative Pre-Training),ELMo和ULMFit。与之前的模型不同,BERT是一种 深度双向的、无监督的 语言表示,且仅使用纯文本语料库进行预训练的模型。上下文无关模型(如word2vec或GloVe)为词汇表中的每个单词生成一个词向量表示,因此容易出现单词的歧义问题。BERT考虑到单词出现时的上下文。例如,词“水分”的word2vec词向量在“植物需要吸收水分”和“财务报表里有水分”是相同的,但BERT根据上下文的不同提供不同的词向量,词向量与句子表达的句意有关。
GPT-3
目前最大的语言模型;基于 1700亿个参数,45TB数据;
API 在中国申请不了;
预训练模型(GPT-3,BERT,StanfordNLP等等)的意义:作为一个基准模型,方便我们在自己的数据集训练出适当的模型,而不是从头开始构建来解决问题。如同我们教一个人微积分,是教一个小学生还是中学生级别的预训练模型呢?
MuZero
「进阶版 AlphaGo」,简单来说,MuZero 更「通用」了,它精通国际象棋、围棋、将棋,还能在数十款 Atari 游戏上全面超越过去的 AI 算法和人类。
首先,MuZero 会利用「表征网络」将自己观察到的棋步收集起来,转化为专属于自己的知识;
接着,利用「预测网络」形成策略(即最好的「下一步」是什么),判断价值(即当前决策「有多好」);
最后,借助「动态网络」判断「上一步有多好」,回收此前做出的最佳棋步,不断完善自己的内部模型。
AlphaFold
一种预测蛋白质结构的 AI;
在生物学当中,看清蛋白质的形状十分重要(几乎所有疾病,包括癌症、痴呆症都与蛋白质的功能有关。蛋白质的功能完全取决于它的三维结构形状,而蛋白质功能则关系着我们健康与疾病的一切。);
国际蛋白质结构预测竞赛(CASP)上,AlphaFold 2最终击败其他人类选手,拿到了冠军。
「这将改变医学,改变研究,改变生物工程,」生物学家 Andrei Lupas 这样评价 Alphabet 旗下的 DeepMind 最新推出的蛋白质结构预测 AI——AlphaFold 2。
「它将改变一切。」最后这句话直接被《自然》杂志用作封面标题。
只要那些复杂问题需要巨大的组合空间搜索能力才能解决;具有需要优化的明确目标函数;具有大量数据或者具有一个准确有效的模拟方法。那它们就能被 AI 一一破解。
强化学习
强化学习理论受到行为主义心理学启发,侧重在线学习并试图在探索-利用(exploration-exploitation)间保持平衡。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。
AlphaGo
实践
想做一个 云顶之弈下棋的 AI
参考资料:
参考项目: