Course Introduction
2020.7.6
机器学习就是自动找函数
举例1:Speech Recognition,以声音信号为输入,文字为输出,但是这一函数方程很复杂。
f
(
声
音
信
号
)
=
文
字
输
出
f(声音信号)=文字输出
f(声音信号)=文字输出
举例2:Image Recognition,输入是一张图片,输出是图片中的内容
f
(
图
片
)
=
文
字
输
出
f(图片)=文字输出
f(图片)=文字输出
举例3:Playing Go,输入是当前棋盘黑子和白子的个数、位置,输出是下一步落子的位置
举例4:Dialogue System,输入是what you said,输出是system response
你想找什么样的函数?
Regression:输出是一个数值(The output of the function is a scalar)
Binary Classfication:输出只有是或否两个可能
Muti-class Classification:输出n个选项中的其中一个
Generation:生成,如机器翻译、机器画图
怎么告诉机器你想找什么样的函数?
Supervised Learning(监督学习):给机器Labeled Data,给出输入及其对应的输出标签。机器评估函数的好坏Loss,如标记错误率。
Reinforcement Learning(强化学习):监督学习是给机器正确的输出,强化学习只需要引导机器学习的方向。
在围棋中,监督学习是在某一特定情况下告诉机器应该下哪个位置,而强化学习则是不停地跟机器下棋并给出输或赢的反馈Reward。Alpha Go is supervised learning + reinforcement learning
Unsupervised Learning(无监督学习):给机器数据让机器自己学习
机器怎么找出你想要的函数?
给定函数寻找范围:Linear、Network Architecture
函数寻找方法:Gradient Descent(梯度下降)
前沿研究
Explainable AI(可解释的人工智能):机器为什么做出这样的选择
Adversarial Attack(对抗攻击):为机器添加刻意设置的噪音影响
Network Compression(网络压缩):把网络缩小可以放在电脑或手机上运行
Anomaly Detection(异常检测):让机器知道“我不知道”这件事
Transfer Learning(迁移学习),Domain Adversarial Learning:当训练数据与测试数据差异较大时,进行一定转换
Meta Learning(元学习):Learn to learn学习如何学习,写一个程序,这个程序能够写出具有学习能力的程序(禁止套娃)
能不能让机器聪明一点:目前机器需要很长时间训练才可以得到一定的效果
Life-long Learning/Continuous Learning/Nerver Ending Learing/Incremental Learning(终身学习):目前机器学习是基于单独任务的