![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习/深度学习
文章平均质量分 79
深度学习常见模型原理和实现简介
Bestaier
被架构师耽误的诗人
展开
-
BERT(Transformer Encoder)详解和TensorFlow实现(附源码)
单向语言模型会限制模型的表征能力,使其只能获取单方向的上下文信息,而BERT利用双向注意力来构建整个神经网络,因此最终生成能融合左右上下文信息的深层双向语言表征,即真正意义上的Bi-Directional Context信息。在实际的训练中,通常另训练集中的50%符合IsNext关系,另外50%的第二句话随机从语料中提取,它们的关系是NotNext,并将这个关系保存在[CLS]中。下图展示了BERT在11种各不同任务中的模型,它们只需要在BERT的基础上再添加一个输出层便可以完成对特定任务的微调。原创 2023-06-07 16:55:43 · 3797 阅读 · 1 评论 -
基于TensorFlow Object Detection API实现RetinaNet目标检测网络(附源码)
RetinaNet是作者Tsung-Yi Lin和Kaiming He于2018年发表的论文Focal Loss for Dense Object Detection中提出的网络。RetinaNet凭借其结构精简清晰、可扩展性强、检测准确率高等特点,成为了很多目标检测算法的baseline。在模型的训练过程中,经常会遇到这样的场景:我们需要保存某个时刻训练好的模型参数,这样在对模型进行微调时,才能使用保存好的参数继续训练,而不是再随机生成参数大范围的拟合。原创 2023-05-26 15:07:22 · 1296 阅读 · 0 评论 -
Faster R-CNN网络架构详解和TensorFlow Hub实现(附源码)
Faster R-CNN的网络架构详解原创 2023-05-25 15:19:09 · 1514 阅读 · 0 评论 -
目标检测常用模型之R-CNN、Fast R-CNN、Faster R-CNN
R-CNN是由Ross Girshick于2014年提出,首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中的图像resize到某一固定尺寸,并喂入到CNN模型(如AlexNet等)提取特征,最后将提取出的特征送入到分类器来预测该对象框中的图像是否存在待检测目标,并进一步预测该检测目标具体属于哪一类。计算region两两之间的相似性,合并具有最大相似性的两个region,得到新的更大的 region,加入region集合中;原创 2023-05-23 21:33:21 · 656 阅读 · 0 评论 -
GPT-2(Transformer Decoder)的TensorFlow实现(附源码)
3. 定义模型的单步训练(train_step)函数,损失计算函数,优化器,metric函数(准确率度量函数)等,以完成单步的模型训练;4. 定义循环训练函数(train_loop),循环调用第3步的函数,完成多轮次(epoch),多批次(batch)的训练;6. 构造训练数据,包括train、validation、test等,输入到模型并开始训练;5. 定义评估函数(evaluate),测试并评估模型训练结果是否符合预期;1. 遵照模型的网络架构,实现每一层(Layer/Block)的函数;原创 2023-05-22 14:51:08 · 1411 阅读 · 0 评论 -
Multi-Head Attention和Transformer Decoder(GPT)详解
而在实际的自然语言生成过程中,句子都是逐字生成的,当前字正在生成时,该字后边的句子内容还是未知的,即为空,因此,影响当前字的只有当前位置之前的句子,而不包括当前位置之后还处于未知状态的内容。8. Linear&Softmax:输出层,输出一个固定长度的文字序列,每个文字有不同的准确率(由于存在Softmax,所有的概率相加为1),如果想让模型输出更加多样化,则可以随机选择准确率最大的几个字,反之,则减小选择的范围;注:图中的N,代表重复N次,不同的GPT版本N的大小不同,代表的参数规模也不同。原创 2023-05-22 11:21:27 · 1118 阅读 · 0 评论 -
Scaled dot-prodect Attention的原理和实现(附源码)
如上图,由于一个hidden无法涵盖所有的Source句子信息,故将句子中每个字对应的hidden信息都输入到Attention中,再将Attention作为Decoder的输入,这样就可以防止Source句子信息的丢失。原创 2023-05-16 11:24:45 · 2464 阅读 · 0 评论 -
基于MobileNetV2的目标检测和TensorFlow + Transfer Learning实现(附源码)
整个网络结构中除了第一层是标准的卷积层,最后添加了一层全连接层以外,其余部分都是由深度可分离卷积(3×3×通道数的逐深度卷积 + 1×1×通道数×过滤器个数的逐点卷积)构成的,减少了计算的参数数量,提高了计算的效率。深度可分离卷积是卷积神经网络中对标准的卷积计算进行改进所得到的算法,它通过拆分空间维度和通道(深度)维度的相关性,减少了卷积计算所需要的参数个数,并被证明是轻量化网络的有效设计。原因如上所述,是因为作者认为激活函数在高维空间能够有效的增加非线性,而在低维空间时则会破坏特征,不如线性的效果好。原创 2023-04-20 17:53:52 · 1174 阅读 · 0 评论 -
基于TensorFlow的模型和训练的自定义方法(附源码)
在一些场景下,使用tensorflow默认的训练过程无法满足我们的需求,故需要自定义模型训练,以下是自定义模型及其训练的全过程。原创 2023-04-18 15:18:30 · 761 阅读 · 1 评论 -
VGG Network的原理和TensorFlow实现(附源码)
1. VGG没有使用像AlexNet(11x11,步幅为4)这样的大感受野,而是使用非常小的感受野(3x3,步幅为1)。VGG中的卷积层使用非常小的感受野(3x3,捕获左/右和上/下的最小可能尺寸)。VGG的所有隐藏层都使用relu(AlexNet的一项巨大创新,可以缩短训练时间)。它改进了传统的卷积神经网络 (CNN),并成为图像分类的最佳模型之一。VGG有三个全连接层:前两个各有4096个通道,第三个有1000个通道,每个类1个。至此,基于以上VGG模型的源码,可以自行构造输入样本,并训练模型。原创 2023-04-17 12:07:09 · 594 阅读 · 0 评论 -
Inception Network详解和TensorFlow实现(附源码)
Inception Network又称GoogleNet,是2014年Christian Szegedy提出的一种全新的深度学习结构,并在当年的ILSVRC比赛中获得第一名的成绩。相比于传统CNN模型通过不断增加神经网络的深度来提升训练表现,Inception Network另辟蹊径,通过Inception model的设计和运用,在有限的网络深度下,大大提高了模型的训练速度(即减少了训练参数)和准确率,是一个CNN历史上里程碑式的进步。原创 2023-04-11 15:27:18 · 1107 阅读 · 0 评论 -
Siamese network详解和TensorFlow实现(附源码)
下图是Siamese network的基础架构,其中Input 1和Input 2是需要比较相似度的输入,它们通过两个具有相同架构、参数和权重的相似子网络(Network 1和Network 2)并输出特征编码,最终经过损失函数(Loss)的计算,得到两个输入的相似度量。例如,第一个分量的单位是kg,第二个分量的单位是g,这意味着所计算的距离可能会根据特征的单位发生倾斜。而马氏距离的目的,就是计算所有分量不相关后两个变量间的差异,而令所有分量不相关的方法,便是公式中的协方差矩阵(即上上图的“旋转”过程)。原创 2023-04-14 11:44:32 · 1601 阅读 · 0 评论 -
深度学习入门认证
深度学习入门认证(DeepLearning AI 深度学习课程)原创 2023-03-27 21:37:48 · 132 阅读 · 0 评论 -
机器学习入门认证
机器学习入门认证(斯坦福大学机器学习课程)原创 2023-03-27 21:34:14 · 150 阅读 · 0 评论