Machine Learning≈Looking for function、函数太过复杂,让机器来找
比如:Speech Recognition(语音识别):声音信号通过函数转化为文字,输入到输出
Image Recognition(图像识别)、Playing Go
深度学习(Deep Learning):要找的函数是一个类神经网络(Neural Network)
(一)可以有不同的输入:vector(向量)、Martix(矩阵e.g. image图像识别)、Sequence(序列e.g. speech、text语音或文字识别)
(二)也可以有不同输出:regression(回归任务)-scalar(数值)、classification(分类任务)-类别、structured learning:更复杂的,输出一段话、一个文章、甚至画图。
以上输入和输出各个类型并不是对应的,而是可组合的。
大量训练资料training data——做好标注label——机器自动找出一个方向判断
大量标记耗费人工,搜集到的资料不多,若为每一个任务都搜集有标注资料,非常麻烦。
希望模型在训练前先练基本功——Pre-train,期待练好之后,它在新的任务上做的很好。基础硬核或者硬核的功能(Foundation model,其中有著名叫Bert的模型)已经处理完,在此基础上再开发新功能(Downstream Task)会变得很简单。就像作业系统与应用之间的关系。
比如:影像识别
机器看大量未标注的图片资料,将图片反转、变色后问机器它们(内容)是不是一样,机器通过将此基本任务(上游任务)学好,即能够辨别不同颜色或不同角度的图像,其实是一个物品,然后在真正要解决的问题(下游任务、Downstream Task)上能够做的更好,比如:猫狗识别,识别苹果和橘子。
Supervised learning需要成对关系,告诉系统:输入x1,通过函数,希望输出y1;输入x2,通过函数,希望输出y2。
而如果有Generative Adversarial Network,只需要收集到大量的x和大量的y,不用知道他们之间的成对关系,机器就可以把它们之间的关联找出来。
使用场景:不知道如何标注资料的时候。不知道如何标注资料,但可以定义什么是成功时。
比如下围棋,人类也不知道要将棋子下在哪里最好时。
让机器具备回答:“我不知道”的能力
分类器虽然能够判断出类别,比如判别出宝可梦和数码宝贝。但真的代表它知道宝可梦长什么样子吗?我们不仅要让它判断出类别,正确的答案,同时还要告诉我们为什么它知道答案应该是这样的,这就是可解释性AI。
如何解决图像分布不同,正确率暴跌的问题
机器不再使用人发明的演算法,而是从过去的经验里面发明出新的演算法
Few-shot learning是也能够非常少量的标注资料就进行学习≈meta learning,因为若想使用非常少量的标注资料就进行学习要使用到meta learning的技术,只有机器也是用自己发明的演算法,才能做到非常少量的标注资料就进行学习。