以下是我的学习笔记,以及总结,如有错误之处请不吝赐教。
什么是深度学习?
深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层(layer)中进行学习,这些层对应于越来越有意义的表示。深度学习中的深度指的并不是利用这种方法所获取的更深层次的理解。
什么是神经网络?
人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。
神经网络主要由:输入层,隐藏层,输出层构成。当隐藏层只有一层时,该网络为两层神经网络,由于输入层未做任何变换,可以不看做单独的一层。实际中,网络输入层的每个神经元代表了一个特征,输出层个数代表了分类标签的个数(在做二分类时,如果采用sigmoid分类器,输出层的神经元个数为1个;如果采用softmax分类器,输出层神经元个数为2个),而隐藏层层数以及隐藏层神经元是由人工设定。
激活函数:
前向神经网络:
卷积神经网络:
循环神经网络:
seq2seq with attention:
PyTorch:
非常接近python原生代码,是facebook支持的,与其他框架对比:
-PyTorch: 动态计算图 Dynamic Computation Graph
-Tensorflow: 静态计算图 Static Computation Graph
一些应用demo:
图像分类resnet:https://github.com/floydhub/imagenet
object detection目标识别:https://github.com/amdegroot/ssd.pytorch
image style transfer图像风格转换:https://github.com/zhanghang1989/PyTorch-Multi-Style-Transfer
cycle gan对抗生成:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
image captioning看图说话:https://github.com/ruotianluo/ImageCaptioning.pytorch
情感分析:https://github.com/bentrevett/pytorch-sentiment-analysis
question answering问答机器人:https://github.com/allenai/document-qa
translation:openNMT-py机器翻译:https://github.com/OpenNMT/OpenNMT-py
chatbot聊天机器人:https://github.com/czs0x55aa/pytorch-chatbot
Deep reinforcement learning强化学习:https://github.com/jingweiz/pytorch-rl、https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html
参考论文:
Effective Approaches to Attention-based Neural Machine Translation:https://arxiv.org/abs/1508.04025
PyTorch论坛:-https://discuss.pytorch.org/