
AI
曲奇喵
弱小可怜又无助,但能吃。
展开
-
网络模型(DCGAN-深度卷积 GAN)
概念生成网络尺寸变大(1 → 图片尺寸)。通道数变大,再逐渐变小(in → max → …… → 3)。输出用 Tanh 激活。输出层不用 BN。判别网络尺寸变小(图片尺寸 → 1)。通道数逐渐变大,再变小(3 → …… → max → 1)。输出用 Sigmoid 激活。输入层不用 BN。实验(生成卡通人脸)数据集:96×96 的卡通人脸。(5 万)网络结构:判别器:卷积 + 标准化(BN)+ 激活(LeakyReLU)+ Sigmoid。生成器:转置卷积 + 标准化(B原创 2020-06-24 16:53:26 · 1431 阅读 · 0 评论 -
网络模型(Seq2Seq-注意力机制-编解码)
概念用于处理序列问题:翻译(N vs N)、信息提取(N vs 1)、生成(1 vs N)。RNN 要求输入队列和输出队列等长,Seq2Seq 可以解决输入队列与输出队列不等长的问题。实验(验证码识别)数据集:生成 4 位数字的验证码图片(测试集和训练集各 1000 张),图片名称为 index.code.jpg,截取 code 作为标签。网络结构:编码:全连接 + 标准化(BN)+ 激活(ReLU)+ LSTM。解码:LSTM + 全连接 + softmax(多分类)。优化器:Ada原创 2020-06-24 16:39:44 · 1691 阅读 · 0 评论 -
网络模型(VAE-变分自编码)
概念无监督学习,用于压缩还原、在保留部分原始信息的基础上生成、换脸……小明是个画家,有 A 和 B 两个人,看 A 两秒钟,看 B 一小时,然后画 A,画中会有 B 的特征。编码:提取特征。(看 A)解码:学习新特征,还原。(看 B 画 A)编码结果向 N(0, 1) 靠近,因为真实分布和 N(0, 1) 是有差别的,所以解码生成的图片会模糊。编码器得出的正态分布:N(μ, σ²)标准正态分布:N(0, 1)关系:N(μ, σ²) = N(0, 1) * σ² + μ编码损失:计算 N(原创 2020-06-24 15:43:09 · 587 阅读 · 0 评论 -
网络模型(GAN-生成式对抗神经网络)
概念无监督学习,用于生成、风格迁移、超分辨率(监控、卫星、核磁共振、X 光)、图像补全、图像增强、换脸……小明想去看电影,但是不想买票,于是他凭想象花了一张假票,门卫拦住了他。小明又回去画了一张假票,门卫还是看出来了。小明接着画票,门卫也越来越警惕……(小明的造假能力 和 门卫的识别能力 同时在增强)小明终于拿着自己画的票看上了电影。生成器:小明。(画票)判别器:门卫。(检查票的真伪)先训练判别网络,让判别器可以识别真实图片和伪造图片。再训练生成网络,使生成的图片靠近真实图片。重复交替原创 2020-06-19 17:43:37 · 1899 阅读 · 0 评论 -
网络模型(LSTM-带门的 RNN)
解决了 RNN 的长期依赖问题、梯度问题。(残差把连乘变为连加)忘记门(控制 C 的比重)更新门(控制 h 的比重)输出门(控制 C 和 h 的比例)实验(手写数字识别)数据集:MNIST。网络结构:LSTM + 全连接。优化器:Adam。损失函数:交叉熵(CrossEntropyLoss),自带 one-hot 类型和 softmax。输出:one-hot 类型,结果为最大的索引值。网络import torchfrom torch import nnclass My原创 2020-06-19 17:35:02 · 292 阅读 · 0 评论 -
网络模型(RNN-循环神经网络)
概念用于处理序列问题:翻译(N vs N)、信息提取(N vs 1)、生成(1 vs N)。1 vs NN vs 1N vs N实验(手写数字识别)数据集:MNIST。网络结构:RNN + 全连接。优化器:Adam。损失函数:交叉熵(CrossEntropyLoss),自带 one-hot 类型和 softmax。输出:one-hot 类型,结果为最大的索引值。网络import torchfrom torch import nnclass MyNet(nn.Modul原创 2020-06-19 16:22:53 · 505 阅读 · 0 评论 -
网络模型(MLP-全连接神经网络)
概念多层感知机,用于特征融合。h = wx + b(w:权重,b:偏移量)每个神经元之间都有自己的权重,参数很多,反向传播时更新。实验(手写数字识别)数据集:MNIST。网络结构:全连接 + 标准化(BN) + 激活(ReLU)。优化器:Adam。损失函数:交叉熵(CrossEntropyLoss),自带 one-hot 类型和 softmax。输出:one-hot 类型,结果为最大的索引值。网络import torchfrom torch import nnclass My原创 2020-06-19 15:59:35 · 8722 阅读 · 0 评论 -
网络模型(CNN-卷积神经网络)
概念用来做像素融合,提取特征。(1×1 的卷积核用来做通道融合)卷积核层数与输入层数相同,卷积核个数与输出层数相同,每个卷积核卷提取一种特征,最后用全连接得到一个特征图。(全连接的参数不更新,只做特征融合)特征图尺寸:w’ = (w - k + 2p) / s + 1w:原图大小。k:卷积核大小。p:填充。s:步长。结果带小数时,向下取整。(例如:原图大小为 6×6,卷积核大小为 3×3,步长为 1,不填充,得到的特征图尺寸为 2×2)权重共享共享:一个卷积核卷整张图的参数共享。目的原创 2020-06-19 12:01:45 · 770 阅读 · 0 评论 -
损失函数(Arc-SoftmaxLoss)
原理Arc-SoftmaxLoss = Arc-Softmax + NLLLoss。softmax 是通过角度分类的,Arc-Softmax 加宽了角度间的分界线,从而达到加大类间距的目的。softmaxV = wx = cosθ·||w||·||x||( cosθ = 二范数归一化后的欧氏距离 = wx / ||w||·||x||)。Si = exp(cosθ·||w||·||x||) / ∑exp(cosθ·||w||·||x||)。Arc-Softmax(加大 θ 角度)实验(手写数原创 2020-06-17 15:51:20 · 2441 阅读 · 0 评论 -
损失函数(CenterLoss)
原理直接减小类内距,间接加大类间距。实验(手写数字识别)数据集:MNIST。网络结构:CNN + 特征全连接(输出2个特征值) + 分类全连接(输出10个特征值)。优化器:Adam。损失函数:特征损失:自定义损失函数(CenterLoss)。分类损失:交叉熵(CrossEntropyLoss),自带 one-hot 类型和 softmax。输出:one-hot 类型,结果为最大的索引值。自定义损失函数(CenterLoss)import torchfrom torch impo原创 2020-06-17 14:57:46 · 1920 阅读 · 0 评论 -
人脸识别(MobileNet-V2)
应用场景单人:支付、解锁……小范围:智能门锁……中范围:考勤打卡……大范围:小区门禁……小区门禁的精度可以很高。(训练集和测试集的重叠度高)一开始精度很低,摄像头采集数据作为样本,进行训练(加入特征库),随着样本越来越多,精度也越来越高。人脸识别很难通用,因为样本很难采集,需要各个角度、质量较高的人脸照片。识别过程经过 MTCNN 找出人脸,剪切下来放到 MobileNet-V2 中提取特征。将得到的特征和特征库中的特征进行比较,根据相似度进行识别。衡量相似度欧氏距离:x·w余弦相原创 2020-06-17 10:30:00 · 2731 阅读 · 0 评论 -
目标侦测(MTCNN)[人脸]
数据处理使用 CelebA 数据集,生成正样本、部分样本、负样本。(正样本 : 部分样本 : 负样本 = 1 : 1 : 3,因为图上大部分区域都是负样本)设计标签标签:地址 编号 x1偏移量 y1偏移量 x2偏移量 y2偏移量positive/0.jpg 1 0.022935779816513763 0.4334862385321101 -0.013761467889908258 -0.0022935779816513763增样CelebA 数据集都是欧洲明星脸,要检测亚洲普通人脸,需要增样。原创 2020-06-16 09:45:03 · 361 阅读 · 0 评论 -
目标侦测(YOLO-V3)
yolo:you only look once.(只看一次,速度快)数据处理第一步:筛选建议框(根据目标筛选形状和大小)在数据集中有一堆框,用 K-Means 聚类算法找到 9 个框,代表整个数据集。第二步:设计标签...原创 2020-06-15 16:20:42 · 343 阅读 · 0 评论