Study of algorithms
that improve their performance P
at some task T
with experience E
.
研究在某个任务T上用经验E提高其性能P的算法。
well-defined learning task:<P,T,E>
明确的学习任务:<P,T,E>
大致机器学习流程思路:
首先定义模型modeling,得分函数score function
其次确定推理方法inference,这里选择argmax函数
最后通过学习learning,得到得分score最高的参数ω
举例:一个单层的神经网络,神经网络其本质就是一些线性回归的东西,对每个神经元加权平均传递给下一层,最终看哪个得分score最高,最终就可确定结果
神经网络符合人脑的一些特点,激活函数activate function,常见的激活函数可参考该篇博文:八、神经网络
这里使用的是sigmoid函函数,看通过逻辑回归之后的得分score,值最高的即为最终的评定结果
下面是一个典型的前向传播神经网络,下一层的神经元都是所有上一层神经元的加权平均,再通过激活层,激活函数都是非线性的,为了使得结果不再过于线性化,从而使得函数的拟合效果更优,最终得到一个神经元,即可作一个二分类问题,或者回归问题进行解决
下面是常见的激活函数类型,红色圆圈区域为激活函数,详细的激活函数介绍可参考该篇博文:十、非线性激活函数
下一层的神经元都是上一层神经元的加权平均,最后通过一个激活函数确定输出结果类型即可
可以提取每个局域的重点特征,然后进行汇总
可循环不停的读入输入的信息,最终产生一系列的结果,在自然语言处理中运用的比较多
该模型出自论文《Effective Approaches to Attention-based Neural Machine Translation》
目前主流的也就是TensorFlow和PyTorch这两大框架
①PyTorch更适合新手,与Python相融
PyTorch: 动态计算图 Dynamic Computation Graph
Tensorflow: 静态计算图 Static Computation Graph
②PyTorch代码通俗易懂,非常接近Python原生代码,不会让人感觉是完全在学习一门新的语言
③拥有Facebook支持,社区活跃
上述modeling、inference和learning中,PyTorch主要负责modeling部分
Model = Architecture + Parameters
其中Parameters需要使用自己的训练数据进行优化该参数
数据集采用ImageNet,使用的是何凯明大佬的ResNet模型,项目所在Github链接
对目标对象进行识别分类,并标出不同物体所在的位置,项目所在GitHub链接
将图像转换成不同风格,项目所在GitHub链接
把一张图片转换成其他风格,使用GAN对抗网络进行生成,项目所在GitHub链接
给一张图,返回一段描述这张图片的话,项目所在GitHub链接
一般运用于自然语言处理方面,给一段话,分析这段话是积极还是消极,项目所在GitHub链接
提出一个问题,可以通过文章中找到并给出答案,类似一个模式匹配问题,问答系统,项目所在GitHub链接
翻译模型,项目所在GitHub链接
聊天机器人,一般都是偏问答的机器人,项目所在GitHub链接
AlphaGo就是经典应用
移动挡板接小球小游戏项目
PyTorch官网API
果然,2023年的ChatGPT诞生了!!!OpenAI已经开始冲击到Google的搜索服务行业了。
PyTorch论坛
PyTorch官方documentation
多阅读文献paper
多跑通本人的开源PyTorch项目
反正多练就完事儿了
Don't repeat yourself.
PyTorch框架与autograd入门,简单前向神经网络
词向量
图像分类,CNN,迁移学习
语言模型,情感分类,RNN,LSTM,GRU
翻译模型,Seq2Seq, Attention
阅读理解,ElMo, BERT, GPT-2
聊天机器人
GAN, Face generation, Style Transfer
上一篇:B 端产品经理如何进行业务调研?
下一篇:Git 分支管理常用指令