随笔分类 -  机器学习实战(深度学习部分)

摘要:YOLO YOLO是Joseph Redmon等人在2015年的论文中提出的一种极其快速、准确的物体检测架构随后在2016年(YOLOv2)和2018(YOLOv3)中进行了改进。 YOLOv3的架构和全卷积网络的架构非常相似,但有一些重要的区别: 它为每个网格单元输出5个边界框(而不是一个),并且 阅读全文
posted @ 2021-12-06 14:53 里列昂遗失的记事本 阅读(701) 评论(0) 推荐(0)
摘要:全卷积网络 FCN的概念由Jonathan Long等人在2015年发表的论文中首次提出,用于语义分割(根据图像所属物体的类别对图像中的每个像素点进行分类的任务)。作者指出,可以用卷积层代替CNN顶部的密集层。 假设一个具有200个神经元的密集层位于一个卷积层的顶部,该卷积层输出100个特征图,每个 阅读全文
posted @ 2021-11-27 12:24 里列昂遗失的记事本 阅读(163) 评论(0) 推荐(0)
摘要:物体检测 在图像中对多个物体进行分类和定位的任务称为物体检测。一种通用的方法是采用经过训练的CNN来对单个物体进行分类和定位,然后将其在图像上滑动。 这项技术非常简单直观,但是它将多次检测同一物体,但位置略有不同。然后需要进行一些后期处理,以消除所有不必要的边界框。一种常见的方法称为非极大抑制。以下 阅读全文
posted @ 2021-11-26 14:27 里列昂遗失的记事本 阅读(204) 评论(0) 推荐(0)
摘要:分类与定位 定位图片中物体可以表示为回归任务:预测物体周围的边界框,一种常见的方法是预测物体中心的水平坐标和垂直坐标,还有其高度和宽度。这意味着有四个数字要预测。它不需要对模型进行太多修改,只需要添加四个具有单位的第二个密集输出层(通常在全局平均池化层之上),就可以使用MSE损失对其进行训练: im 阅读全文
posted @ 2021-11-26 14:19 里列昂遗失的记事本 阅读(54) 评论(0) 推荐(0)
摘要:# 迁移学习的预训练模型 如果想构建图像分类器但没有足够的训练数据,那么重用预训练模型的较低层通常是个好办法。例如,训练模型来对花的图片进行分类,并使用预先训练的Xception模型。首先,使用TensorFlow Datasets加载数据集: ```python import tensorflow 阅读全文
posted @ 2021-11-26 12:25 里列昂遗失的记事本 阅读(256) 评论(2) 推荐(0)
摘要:使用Keras的预训练模型 通常,无需手动实现像GoogLeNet或ResNet这样的标准模型,因为在keras.applications包中只需一行代码即可获得预训练的网络。 例如,使用以下代码加载在ImageNet上预训练的ResNet-50模型: from tensorflow import 阅读全文
posted @ 2021-11-26 11:08 里列昂遗失的记事本 阅读(749) 评论(0) 推荐(0)
摘要:CNN架构 典型的CNN架构堆叠了一些卷积层(通常每个卷积层都跟随着一个ReLU层),然后是一个池化层,然后是另外几个卷积层(+ReLU),然后是另一个池化层,以此类推。随着卷积网络的不断发展,图像变得越来越小,但是由于卷积层的存在,图像通常也越来越深(即具有更多的特征图)。在堆栈的顶部添加了一个常 阅读全文
posted @ 2021-11-21 13:31 里列昂遗失的记事本 阅读(337) 评论(0) 推荐(0)
摘要:池化层 池化层的目标是对输入图像进行下采样(即缩小),以便减少计算量、内存使用量和参数数量(从而降低过拟合的风险) 池化层中的每个神经元都连接到位于一个小的矩形接受视野中的上一层中有限数量的神经元的输出。必须定义其大小、步幅和填充类型。但是,池化层没有权重。它所做的工作就是使用聚合函数(例如最大值或 阅读全文
posted @ 2021-11-19 22:21 里列昂遗失的记事本 阅读(727) 评论(0) 推荐(0)
摘要:卷积层 CNN的最重要的构建层就是卷积层:第一卷积层的神经元不会连接到输入图像中的每个像素,而只于接受视野内的像素相连。反过来,第二卷积层的每个神经元仅连接到位于第一层中的一个小矩阵内的神经元。这种架构允许网络集中在第一个隐藏层的低阶特征中,然后在下一个隐藏层中将它们组装成比较高阶的特征。 之前的神 阅读全文
posted @ 2021-11-15 21:08 里列昂遗失的记事本 阅读(714) 评论(0) 推荐(0)
摘要:视觉皮层的架构 卷积神经网络(CNN)起源于对大脑的视觉皮层的研究,从20世纪80年代起被用于图像识别。在过去几年中,由于计算机计算能力的提高、可训练数据数量的增加,以及用于深度学习网络训练技巧的增加,CNN已经在一些复杂的视觉任务中实现了超人性化,广泛用于图片搜索服务、自动驾驶汽车、自动视频分类系 阅读全文
posted @ 2021-11-14 11:15 里列昂遗失的记事本 阅读(356) 评论(0) 推荐(0)
摘要:TensorFlow数据集(TFDS)项目使下载通用数据集变得非常容易,从小型数据集(如MNIST或Fashion MNIST)到大型数据集(如ImageNet)。该列表包括图像数据集、文本数据集(包括翻译数据集)以及音频和视频数据集。 TFDS没有和TensorFlow捆绑在一起,因此需要安装te 阅读全文
posted @ 2021-10-31 15:17 里列昂遗失的记事本 阅读(130) 评论(0) 推荐(0)
摘要:预处理输入特征 为神经网络准备数据需要将所有特征转换为数值特征,通常将其归一化等。特别是如果数据包含分类特征或文本特征,则需要将它们转换为数字。 在准备数据文件时,可以使用任何喜欢的工具(例如NumPy、pandas或Scikit-Learn)提前完成此操作。或者,可以在使用Data API加载数据 阅读全文
posted @ 2021-10-29 19:31 里列昂遗失的记事本 阅读(143) 评论(0) 推荐(0)
摘要:TFRecord格式 TFRecord格式是TensorFlow首选的格式,用于储存大量数据并有效读取数据。这是一种非常简单的二进制格式,只包含大小不同的二进制记录序列(每个记录由一个长度、一个用于检查长度是否受损的CRC校验和、实际数据 以及最后一个CRC校验和组成)。可以使用tf.io.TFRe 阅读全文
posted @ 2021-10-27 11:15 里列昂遗失的记事本 阅读(294) 评论(0) 推荐(0)
摘要:数据API 整个数据API都围绕着数据集的概念。通常,使用的是逐步从磁盘中读取数据的数据集,但为了简单起见,使用 tf.data.Dataset.from_tensor_slices()在RAM中完全创建一个数据集合 import keras.activations import tensorflo 阅读全文
posted @ 2021-10-25 13:20 里列昂遗失的记事本 阅读(175) 评论(0) 推荐(0)
摘要:def cube(x): return x**3 cube(2) 8 import tensorflow as tf cube(tf.constant(2.0)) <tf.Tensor: shape=(), dtype=float32, numpy=8.0> 现在用tf.function()函数将此 阅读全文
posted @ 2021-10-24 18:41 里列昂遗失的记事本 阅读(90) 评论(0) 推荐(0)
摘要:自定义损失函数 当训练回归模型时,训练集有噪声,均方误差MSE可能会对大误差惩罚太多而导致模型不精确。平均绝对误差MAE不会对异常值惩罚太多,但是训练可能要一段时间才能收敛,并且训练后的模型可能不太精确。这就是使用Huber损失而不是旧的MSE损失的好时机。 $$L_\delta(y,f(x))== 阅读全文
posted @ 2021-10-16 23:19 里列昂遗失的记事本 阅读(477) 评论(0) 推荐(0)
摘要:张量和操作 可以使用tf.constant()创建张量 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity='all' import tensorflow 阅读全文
posted @ 2021-10-09 20:46 里列昂遗失的记事本 阅读(163) 评论(0) 推荐(0)
摘要:Tensorflow快速浏览 高级深度学习API tf.keras tf.estimator 底层深度学习API tf.nn tf.losses tf.metrics tf.optimizers tf.train tf.initializers 自动微分 tf.GradientTape tf.gra 阅读全文
posted @ 2021-10-09 10:40 里列昂遗失的记事本 阅读(31) 评论(0) 推荐(0)
摘要:通过正则化避免过拟合。 深度神经网络通常拥有数万个参数,有时甚至有数百万个。这个深度神经网络带来了难以置信的自由度,意味着它们可以拟合各种各样的复杂数据集。 但是这种巨大的灵活性也使网络易于过拟合训练集。此时就需要正则化。 $\ell_1$和$\ell_2$正则化 可以使用$\ell_2$正则化来约 阅读全文
posted @ 2021-10-03 10:39 里列昂遗失的记事本 阅读(205) 评论(0) 推荐(0)
摘要:动量优化 想象一下,一个保龄球在光滑的表面上沿着平缓的坡度滚动:它开始速度很慢,在很快会获得动量,直到最终达到终极速度(如果有摩擦或空气阻力)。相比之下,常规的梯度下降法只是在斜坡上采取小的、常规的步骤,因此算法将花费更多时间到达底部 回想一下梯度下降通过直接减去权重的成本函数$J(\theta)\ 阅读全文
posted @ 2021-09-30 09:13 里列昂遗失的记事本 阅读(292) 评论(0) 推荐(0)