<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>深度学习 on 里列昂遗失的记事本</title><link>https://blog.overfit.org/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/</link><description>Recent content in 深度学习 on 里列昂遗失的记事本</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 15 Aug 2025 16:53:00 +0800</lastBuildDate><atom:link href="https://blog.overfit.org/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/index.xml" rel="self" type="application/rss+xml"/><item><title>Grain用于读取和处理用于训练和评估 JAX 模型的数据</title><link>https://blog.overfit.org/posts/2025-08-15-19039965-grain%E7%94%A8%E4%BA%8E%E8%AF%BB%E5%8F%96%E5%92%8C%E5%A4%84%E7%90%86%E7%94%A8%E4%BA%8E%E8%AE%AD%E7%BB%83%E5%92%8C%E8%AF%84%E4%BC%B0-jax-%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%95%B0%E6%8D%AE/</link><pubDate>Fri, 15 Aug 2025 16:48:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2025-08-15-19039965-grain%E7%94%A8%E4%BA%8E%E8%AF%BB%E5%8F%96%E5%92%8C%E5%A4%84%E7%90%86%E7%94%A8%E4%BA%8E%E8%AE%AD%E7%BB%83%E5%92%8C%E8%AF%84%E4%BC%B0-jax-%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%95%B0%E6%8D%AE/</guid><description>Grain介绍 Grain官方Docs 用户可以带来任意的 Python 转换。 Grain 被设计为模块化。如果需要，用户可以使用自己的实现轻松覆盖 Grain 组件。 同一管道的多次运行将产生相同的输出。 Grain 的设计使得检查点的大小最小。抢占后，Grain 可以从中断</description></item><item><title>LeNet（Jax/Flax）实现</title><link>https://blog.overfit.org/posts/2025-08-15-19039904-lenetjaxflax%E5%AE%9E%E7%8E%B0/</link><pubDate>Fri, 15 Aug 2025 16:23:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2025-08-15-19039904-lenetjaxflax%E5%AE%9E%E7%8E%B0/</guid><description>LeNet LeNet，它是最早发布的卷积神经网络之一，因其在计算机视觉任务中的高效性能而受到广泛关注。 这个模型是由AT&amp;amp;T贝尔实验室的研究员Yann LeCun在1989年提出的（并以其命名），目的是识别图像 (LeCun et al., 1998)中的手写数字。 当</description></item><item><title>LeNet（PyTorch）实现</title><link>https://blog.overfit.org/posts/2025-08-15-19039821-lenetpytorch%E5%AE%9E%E7%8E%B0/</link><pubDate>Fri, 15 Aug 2025 15:59:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2025-08-15-19039821-lenetpytorch%E5%AE%9E%E7%8E%B0/</guid><description>LeNet LeNet，它是最早发布的卷积神经网络之一，因其在计算机视觉任务中的高效性能而受到广泛关注。 这个模型是由AT&amp;amp;T贝尔实验室的研究员Yann LeCun在1989年提出的（并以其命名），目的是识别图像 (LeCun et al., 1998)中的手写数字。 当</description></item><item><title>PyTorch常用代码块</title><link>https://blog.overfit.org/posts/2023-01-29-17073008-pytorch%E5%B8%B8%E7%94%A8%E4%BB%A3%E7%A0%81%E5%9D%97/</link><pubDate>Sun, 29 Jan 2023 16:14:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2023-01-29-17073008-pytorch%E5%B8%B8%E7%94%A8%E4%BB%A3%E7%A0%81%E5%9D%97/</guid><description>PyTorch最好的资料是官方文档。 1. 基本配置 需要导入的包 import collections import os import shutil import tqdm import numpy as np import PIL.Image import torch im</description></item><item><title>ResNeXt</title><link>https://blog.overfit.org/posts/2022-08-30-16638470-resnext/</link><pubDate>Tue, 30 Aug 2022 10:36:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-08-30-16638470-resnext/</guid><description>ResNext 改进点 改进了Block 准确率的提高 在计算量相同的情况下，错误率更低 使用了分组卷积 普通卷积 上图为普通卷积示意图，为方便理解，途中只有一个卷积核，此时输入输出数据集为：输入特征图尺寸：**，分别对应特征图的宽、高和通道数单个卷积核尺寸：</description></item><item><title>ResNet</title><link>https://blog.overfit.org/posts/2022-08-28-16634329-resnet/</link><pubDate>Sun, 28 Aug 2022 22:41:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-08-28-16634329-resnet/</guid><description>ResNet详解 ResNet在2015年由微软实验室提出，斩获当年ImageNet竞赛中分类任务第一名，目标检测第一名。获得COCO数据集中目标检测第一名，图像分割第一名。模型中的亮点： 超深的网络结构 提出Residual模块 使用Batch Normalization加速训</description></item><item><title>GoogLeNet</title><link>https://blog.overfit.org/posts/2022-08-13-16582704-googlenet/</link><pubDate>Sat, 13 Aug 2022 11:42:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-08-13-16582704-googlenet/</guid><description>GoogLeNet 简介 GoogLeNet在2014年由Google团队提出，斩获当年ImageNet竞赛中Classification Task (分类任务) 第一名。 GoogLeNet网络的优点 引入了Inception结构（融合不同尺度的特征信息） 使用的卷积核进行降维</description></item><item><title>VGGNet</title><link>https://blog.overfit.org/posts/2022-07-29-16530856-vggnet/</link><pubDate>Fri, 29 Jul 2022 00:44:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-07-29-16530856-vggnet/</guid><description>VGGNet简介 VGG在2014年由牛津大学著名研究组VGG (Visual GeometryGroup) 提出，斩获该年ImageNet竞赛中 Localization Task (定位任务) 第一名 和 Classification Task (分类任务) 第二名。 VGG</description></item><item><title>AlexNet网络</title><link>https://blog.overfit.org/posts/2022-07-19-16494490-alexnet%E7%BD%91%E7%BB%9C/</link><pubDate>Tue, 19 Jul 2022 16:12:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-07-19-16494490-alexnet%E7%BD%91%E7%BB%9C/</guid><description>AlexNet简介 AlexNet是2012年ISLVRC 2012（ImageNet Large Scale Visual RecognitionChallenge）竞赛的冠军网络，分类准确率由传统的 70%+提升到 80%+。它是由Hinton和他的学生Alex Krizhe</description></item><item><title>猫狗数据集分类VGG16（TensorFlow实现）</title><link>https://blog.overfit.org/posts/2022-05-18-16286033-%E7%8C%AB%E7%8B%97%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%86%E7%B1%BBvgg16tensorflow%E5%AE%9E%E7%8E%B0/</link><pubDate>Wed, 18 May 2022 19:33:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-05-18-16286033-%E7%8C%AB%E7%8B%97%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%86%E7%B1%BBvgg16tensorflow%E5%AE%9E%E7%8E%B0/</guid><description>import random import os import tensorflow as tf from tensorflow import keras from shutil import copyfile from tensorflow.keras import layers</description></item><item><title>猫狗数据集分类VGG16（PyTorch实现）</title><link>https://blog.overfit.org/posts/2022-05-18-16285858-%E7%8C%AB%E7%8B%97%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%86%E7%B1%BBvgg16pytorch%E5%AE%9E%E7%8E%B0/</link><pubDate>Wed, 18 May 2022 18:34:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-05-18-16285858-%E7%8C%AB%E7%8B%97%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%86%E7%B1%BBvgg16pytorch%E5%AE%9E%E7%8E%B0/</guid><description>数据集地址：https://www.kaggle.com/datasets/shaunthesheep/microsoft-catsvsdogs-dataset ```python from shutil import copyfile import random import</description></item><item><title>生成式对抗网络（GAN）</title><link>https://blog.overfit.org/posts/2022-01-21-15831801-%E7%94%9F%E6%88%90%E5%BC%8F%E5%AF%B9%E6%8A%97%E7%BD%91%E7%BB%9Cgan/</link><pubDate>Fri, 21 Jan 2022 21:13:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-21-15831801-%E7%94%9F%E6%88%90%E5%BC%8F%E5%AF%B9%E6%8A%97%E7%BD%91%E7%BB%9Cgan/</guid><description>生成式对抗网络 Ian Goodfellow等人在2014年的论文中提出了生成式对抗网络，尽管这个想法立刻使研究人员们兴奋不已，但还是花了几年时间才克服了训练GAN的一些困难。就像许多伟大的想法一样，事后看起来似乎很简单：让神经网络竞争，希望这种竞争能够促使它们变得更好。GAN由</description></item><item><title>变分自动编码器</title><link>https://blog.overfit.org/posts/2022-01-10-15785766-%E5%8F%98%E5%88%86%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</link><pubDate>Mon, 10 Jan 2022 20:02:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-10-15785766-%E5%8F%98%E5%88%86%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</guid><description>变分自动编码器 Diederik Kingma和Max Welling于2013年推出了自动编码器的另一个重要类别，并迅速成为最受欢迎的自动编码器类型之一：变分自动编码器 它们与目前为止的自动编码器有很大的不同，它们具有以下特殊的地方： 它们是概率自动编码器，这意味着即使在训练后</description></item><item><title>稀疏自动编码器</title><link>https://blog.overfit.org/posts/2022-01-08-15779095-%E7%A8%80%E7%96%8F%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</link><pubDate>Sat, 08 Jan 2022 18:17:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-08-15779095-%E7%A8%80%E7%96%8F%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</guid><description>稀疏自动编码器 另一种会导致良好特征提取的约束是稀疏性：通过在成本函数中添加适当的函数项，强迫自动编码器减少编码层中活动神经元的数量。例如，可以强迫其在编码层中平均仅有5%的显著活动神经元。这迫使自动编码器将每个输入表示为少量活动神经元的组合。结果，编码层中的每个神经元最终会代表</description></item><item><title>循环自动编码器</title><link>https://blog.overfit.org/posts/2022-01-06-15772401-%E5%BE%AA%E7%8E%AF%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</link><pubDate>Thu, 06 Jan 2022 18:48:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-06-15772401-%E5%BE%AA%E7%8E%AF%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</guid><description>循环自动编码器 如果要为序列构建自动编码器，例如时间序列和文本（例如，用于无监督学习或降维），那么递归神经元可能比密集网络更合适。构建循环自动编码器非常简单直接：编码器通常是序列到向量的RNN，它将输入序列压缩为单个向量。解码器是向量到序列RNN，做相反的处理： from ten</description></item><item><title>卷积自动编码器</title><link>https://blog.overfit.org/posts/2022-01-06-15772360-%E5%8D%B7%E7%A7%AF%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</link><pubDate>Thu, 06 Jan 2022 18:32:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-06-15772360-%E5%8D%B7%E7%A7%AF%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</guid><description>卷积自动编码器 如果要处理图像，目前为止的自动编码器都无法很好的工作（除非图像非常小），卷积神经网络比密集网络更适合处理图像。如果要为图像构建自动编码器（例如，用于无监督预训练或降维），则需要构建卷积自动编码器。编码器是由卷积层和池化层组成的常规CNN。它通常会减小输入的空间尺寸</description></item><item><title>堆叠式自动编码器</title><link>https://blog.overfit.org/posts/2022-01-06-15772319-%E5%A0%86%E5%8F%A0%E5%BC%8F%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</link><pubDate>Thu, 06 Jan 2022 18:16:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-06-15772319-%E5%A0%86%E5%8F%A0%E5%BC%8F%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8/</guid><description>堆叠式自动编码器 自动编码器可以具有多个隐藏层。在这种情况下，它们被称为堆叠式自动编码器（或深度自动编码器）。添加更多的层有助于自动编码器学习更多的复杂的编码。就是说，要注意不要使自动编码器过于强大。想象一个强大的编码器，它只是学会了把每个输入映射到单个任意数字（而解码器则学习反</description></item><item><title>使用不完整的线性自动编码器执行PCA</title><link>https://blog.overfit.org/posts/2021-12-30-15750883-%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%AE%8C%E6%95%B4%E7%9A%84%E7%BA%BF%E6%80%A7%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8%E6%89%A7%E8%A1%8Cpca/</link><pubDate>Thu, 30 Dec 2021 22:37:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-30-15750883-%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%AE%8C%E6%95%B4%E7%9A%84%E7%BA%BF%E6%80%A7%E8%87%AA%E5%8A%A8%E7%BC%96%E7%A0%81%E5%99%A8%E6%89%A7%E8%A1%8Cpca/</guid><description>使用不完整的线性自动编码器执行PCA 如果自动编码器仅使用线性激活，并且成本函数是均方误差MSE，则最后执行的是主成分分析（PCA） 以下代码构建了一个简单的线性自动编码器，来对3D数据集执行PCA，将其投影到2D： from tensorflow import keras en</description></item><item><title>有效的数据表示</title><link>https://blog.overfit.org/posts/2021-12-30-15750711-%E6%9C%89%E6%95%88%E7%9A%84%E6%95%B0%E6%8D%AE%E8%A1%A8%E7%A4%BA/</link><pubDate>Thu, 30 Dec 2021 21:34:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-30-15750711-%E6%9C%89%E6%95%88%E7%9A%84%E6%95%B0%E6%8D%AE%E8%A1%A8%E7%A4%BA/</guid><description>有效的数据表示 你发现以下哪个数字顺序最容易记忆？ 40，27，25，36，81，57，10，73，19，68 50，48，46，44，42，40，38，36，34，32，30，28，26，24，22，20，18，16，14 乍一看，第一个序列似乎应该更容易些，因为它要短得多。但</description></item><item><title>最近语言模型的创新</title><link>https://blog.overfit.org/posts/2021-12-29-15746718-%E6%9C%80%E8%BF%91%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%88%9B%E6%96%B0/</link><pubDate>Wed, 29 Dec 2021 20:53:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-29-15746718-%E6%9C%80%E8%BF%91%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%88%9B%E6%96%B0/</guid><description>最新语言模型的创新 2018年被称为”NLP的ImageNet时刻“：进展惊人，越来越大的LSTM和基于Transformer的架构在庞大的数据集上得到了训练 Matthew Peters撰写的ELMo论文介绍了从语言模型来的嵌入（Embeddings from Language</description></item><item><title>注意力机制</title><link>https://blog.overfit.org/posts/2021-12-29-15746541-%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6/</link><pubDate>Wed, 29 Dec 2021 19:55:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-29-15746541-%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6/</guid><description>注意力机制 这是Dzmitry Bahdanai等人在2014年的突破性论文中的核心思想。他们介绍了一种技术，该技术允许编码器在每个时间步长中专注于适当的单词（由编码器编码）。例如，在编码器需要输出单词'lait'的时间步长上，它会把注意力集中在单词'mi</description></item><item><title>掩码屏蔽</title><link>https://blog.overfit.org/posts/2021-12-18-15705733-%E6%8E%A9%E7%A0%81%E5%B1%8F%E8%94%BD/</link><pubDate>Sat, 18 Dec 2021 19:01:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-18-15705733-%E6%8E%A9%E7%A0%81%E5%B1%8F%E8%94%BD/</guid><description>掩码屏蔽 模型需要学习应该忽略掉填充令牌。可以设置告诉模型去忽略掉填充令牌，以便它可以专注于实际很重要的数据。实际上这很容易：在创建嵌入（Embedding）层时只需添加mask_zero=True。这意味着所有下游层都将忽略填充令牌（其ID为0） 这种工作方式是Embeddin</description></item><item><title>使用字符RNN生成莎士比亚文本</title><link>https://blog.overfit.org/posts/2021-12-15-15695992-%E4%BD%BF%E7%94%A8%E5%AD%97%E7%AC%A6rnn%E7%94%9F%E6%88%90%E8%8E%8E%E5%A3%AB%E6%AF%94%E4%BA%9A%E6%96%87%E6%9C%AC/</link><pubDate>Wed, 15 Dec 2021 23:24:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-15-15695992-%E4%BD%BF%E7%94%A8%E5%AD%97%E7%AC%A6rnn%E7%94%9F%E6%88%90%E8%8E%8E%E5%A3%AB%E6%AF%94%E4%BA%9A%E6%96%87%E6%9C%AC/</guid><description>创建训练数据集 首先，使用Keras的get_file()函数来下载莎士比亚的所有作品，并从Andrej Karpathy的Char-RNN项目中下载数据： import tensorflow as tf from tensorflow import keras shakespe</description></item><item><title>处理长序列</title><link>https://blog.overfit.org/posts/2021-12-13-15683998-%E5%A4%84%E7%90%86%E9%95%BF%E5%BA%8F%E5%88%97/</link><pubDate>Mon, 13 Dec 2021 16:29:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-13-15683998-%E5%A4%84%E7%90%86%E9%95%BF%E5%BA%8F%E5%88%97/</guid><description>处理长序列 在长序列上训练一个RNN，必须运行很多时间步长，从而展开的RNN成为一个非常深的网络。就像任何深度神经网络一样，它可能会遇到不稳定的梯度问题：它可能永远在训练，或者训练可能会不稳定。此外，当RNN处理一个长序列时，它会逐渐忘记序列中的第一个输入。 应对不稳定梯度问题</description></item><item><title>循环神经网络和层</title><link>https://blog.overfit.org/posts/2021-12-06-15652553-%E5%BE%AA%E7%8E%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%92%8C%E5%B1%82/</link><pubDate>Mon, 06 Dec 2021 23:30:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-06-15652553-%E5%BE%AA%E7%8E%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%92%8C%E5%B1%82/</guid><description>循环神经元和层 到目前为止，我们只关注前馈神经网络，其中激活仅在一个方向上流动，从输入层流向输出层。循环神经网络看起来非常像前馈神经网络，除了它还具有指向反向的连接。最简单的RNN由一个神经元接收输入，产生输出并将该输出返送回自身组成。在每个时间步长（也称为帧），该循环神经网络接</description></item><item><title>使用RNN和CNN处理序列</title><link>https://blog.overfit.org/posts/2021-12-06-15650112-%E4%BD%BF%E7%94%A8rnn%E5%92%8Ccnn%E5%A4%84%E7%90%86%E5%BA%8F%E5%88%97/</link><pubDate>Mon, 06 Dec 2021 15:22:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-06-15650112-%E4%BD%BF%E7%94%A8rnn%E5%92%8Ccnn%E5%A4%84%E7%90%86%E5%BA%8F%E5%88%97/</guid><description>使用RNN和CNN处理序列 击球手将球击出。外野手立即开始奔跑，预测球的轨迹。他跟踪它，调整自己的运动，最后抓住球。不管你是在听完朋友的话还是在早餐时期待咖啡的味道，预测都是你一直在做的事情。循环神经网络（RNN），这是一类可以预测未来的网络（在一定程度上）。它们可以分析时间序列</description></item><item><title>语义分割</title><link>https://blog.overfit.org/posts/2021-12-06-15650064-%E8%AF%AD%E4%B9%89%E5%88%86%E5%89%B2/</link><pubDate>Mon, 06 Dec 2021 15:15:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-06-15650064-%E8%AF%AD%E4%B9%89%E5%88%86%E5%89%B2/</guid><description>语义分割 在语义分割中，每个像素根据其所属物体的类别（例如，道路、汽车、行人、建筑物等）进行分类。例如分割图像右侧的所有自行车都变成了一大块像素。此任务的主要困难在于，当图像通过常规CNN时，它们会逐渐失去其空间分辨率（由于步幅大于1的层），因此常规的CNN可能最终会知道在图像的</description></item><item><title>YOLO</title><link>https://blog.overfit.org/posts/2021-12-06-15649925-yolo/</link><pubDate>Mon, 06 Dec 2021 14:53:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-06-15649925-yolo/</guid><description>YOLO YOLO是Joseph Redmon等人在2015年的论文中提出的一种极其快速、准确的物体检测架构随后在2016年（YOLOv2）和2018（YOLOv3）中进行了改进。 YOLOv3的架构和全卷积网络的架构非常相似，但有一些重要的区别： 它为每个网格单元输出5个边界框</description></item><item><title>全卷积网络</title><link>https://blog.overfit.org/posts/2021-11-27-15611527-%E5%85%A8%E5%8D%B7%E7%A7%AF%E7%BD%91%E7%BB%9C/</link><pubDate>Sat, 27 Nov 2021 12:24:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-27-15611527-%E5%85%A8%E5%8D%B7%E7%A7%AF%E7%BD%91%E7%BB%9C/</guid><description>全卷积网络 FCN的概念由Jonathan Long等人在2015年发表的论文中首次提出，用于语义分割（根据图像所属物体的类别对图像中的每个像素点进行分类的任务）。作者指出，可以用卷积层代替CNN顶部的密集层。 假设一个具有200个神经元的密集层位于一个卷积层的顶部，该卷积层输出</description></item><item><title>物体检测</title><link>https://blog.overfit.org/posts/2021-11-26-15607687-%E7%89%A9%E4%BD%93%E6%A3%80%E6%B5%8B/</link><pubDate>Fri, 26 Nov 2021 14:27:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-26-15607687-%E7%89%A9%E4%BD%93%E6%A3%80%E6%B5%8B/</guid><description>物体检测 在图像中对多个物体进行分类和定位的任务称为物体检测。一种通用的方法是采用经过训练的CNN来对单个物体进行分类和定位，然后将其在图像上滑动。 这项技术非常简单直观，但是它将多次检测同一物体，但位置略有不同。然后需要进行一些后期处理，以消除所有不必要的边界框。一种常见的方法</description></item><item><title>迁移学习的预训练模型</title><link>https://blog.overfit.org/posts/2021-11-26-15607128-%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0%E7%9A%84%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B/</link><pubDate>Fri, 26 Nov 2021 12:25:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-26-15607128-%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0%E7%9A%84%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B/</guid><description>&lt;h1 id="迁移学习的预训练模型-如果想构建图像分类器但没有足够的训练数据那么重用预训练模型的较低层通常是个好办法例如训练模型来对花的图片进行分类并使用预先训练的xception模型首先使用tensorflow-datasets加载数据集-python-import"&gt;迁移学习的预训练模型 如果想构建图像分类器但没有足够的训练数据，那么重用预训练模型的较低层通常是个好办法。例如，训练模型来对花的图片进行分类，并使用预先训练的Xception模型。首先，使用TensorFlow Datasets加载数据集： ```python import&lt;/h1&gt;</description></item><item><title>使用Keras的预训练模型</title><link>https://blog.overfit.org/posts/2021-11-26-15606727-%E4%BD%BF%E7%94%A8keras%E7%9A%84%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B/</link><pubDate>Fri, 26 Nov 2021 11:08:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-26-15606727-%E4%BD%BF%E7%94%A8keras%E7%9A%84%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B/</guid><description>使用Keras的预训练模型 通常，无需手动实现像GoogLeNet或ResNet这样的标准模型，因为在keras.applications包中只需一行代码即可获得预训练的网络。 例如，使用以下代码加载在ImageNet上预训练的ResNet-50模型： from tensorfl</description></item><item><title>CNN架构</title><link>https://blog.overfit.org/posts/2021-11-21-15584228-cnn%E6%9E%B6%E6%9E%84/</link><pubDate>Sun, 21 Nov 2021 13:31:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-21-15584228-cnn%E6%9E%B6%E6%9E%84/</guid><description>CNN架构 典型的CNN架构堆叠了一些卷积层（通常每个卷积层都跟随着一个ReLU层），然后是一个池化层，然后是另外几个卷积层（+ReLU），然后是另一个池化层，以此类推。随着卷积网络的不断发展，图像变得越来越小，但是由于卷积层的存在，图像通常也越来越深（即具有更多的特征图）。在堆</description></item><item><title>池化层</title><link>https://blog.overfit.org/posts/2021-11-19-15579563-%E6%B1%A0%E5%8C%96%E5%B1%82/</link><pubDate>Fri, 19 Nov 2021 22:21:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-19-15579563-%E6%B1%A0%E5%8C%96%E5%B1%82/</guid><description>池化层 池化层的目标是对输入图像进行下采样（即缩小），以便减少计算量、内存使用量和参数数量（从而降低过拟合的风险） 池化层中的每个神经元都连接到位于一个小的矩形接受视野中的上一层中有限数量的神经元的输出。必须定义其大小、步幅和填充类型。但是，池化层没有权重。它所做的工作就是使用聚</description></item><item><title>卷积层</title><link>https://blog.overfit.org/posts/2021-11-15-15558256-%E5%8D%B7%E7%A7%AF%E5%B1%82/</link><pubDate>Mon, 15 Nov 2021 21:08:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-15-15558256-%E5%8D%B7%E7%A7%AF%E5%B1%82/</guid><description>卷积层 CNN的最重要的构建层就是卷积层：第一卷积层的神经元不会连接到输入图像中的每个像素，而只于接受视野内的像素相连。反过来，第二卷积层的每个神经元仅连接到位于第一层中的一个小矩阵内的神经元。这种架构允许网络集中在第一个隐藏层的低阶特征中，然后在下一个隐藏层中将它们组装成比较高</description></item><item><title>视觉皮层的架构</title><link>https://blog.overfit.org/posts/2021-11-14-15551126-%E8%A7%86%E8%A7%89%E7%9A%AE%E5%B1%82%E7%9A%84%E6%9E%B6%E6%9E%84/</link><pubDate>Sun, 14 Nov 2021 11:15:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-14-15551126-%E8%A7%86%E8%A7%89%E7%9A%AE%E5%B1%82%E7%9A%84%E6%9E%B6%E6%9E%84/</guid><description>视觉皮层的架构 卷积神经网络（CNN）起源于对大脑的视觉皮层的研究，从20世纪80年代起被用于图像识别。在过去几年中，由于计算机计算能力的提高、可训练数据数量的增加，以及用于深度学习网络训练技巧的增加，CNN已经在一些复杂的视觉任务中实现了超人性化，广泛用于图片搜索服务、自动驾驶</description></item><item><title>自定义模型和训练算法</title><link>https://blog.overfit.org/posts/2021-10-16-15415652-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9E%8B%E5%92%8C%E8%AE%AD%E7%BB%83%E7%AE%97%E6%B3%95/</link><pubDate>Sat, 16 Oct 2021 23:19:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-10-16-15415652-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9E%8B%E5%92%8C%E8%AE%AD%E7%BB%83%E7%AE%97%E6%B3%95/</guid><description>自定义损失函数 当训练回归模型时，训练集有噪声，均方误差MSE可能会对大误差惩罚太多而导致模型不精确。平均绝对误差MAE不会对异常值惩罚太多，但是训练可能要一段时间才能收敛，并且训练后的模型可能不太精确。这就是使用Huber损失而不是旧的MSE损失的好时机。 L_delta(y,</description></item><item><title>Gradient Descent（梯度下降）</title><link>https://blog.overfit.org/posts/2021-10-08-15382541-gradient-descent%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D/</link><pubDate>Fri, 08 Oct 2021 19:41:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-10-08-15382541-gradient-descent%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D/</guid><description>梯度下降 线性模型 来拟合学习时间与考试分数 [ loss=(hat{y}-y)^2=(x*w-y)^2to cost=frac1Nsum^N_{n=1}(hat{y_n}-y_n)^2 ] 由图可知损失函数在时，取得最小值。记损失函</description></item><item><title>Linear Model</title><link>https://blog.overfit.org/posts/2021-10-08-15381272-linear-model/</link><pubDate>Fri, 08 Oct 2021 18:30:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-10-08-15381272-linear-model/</guid><description>Linear Model 机器学习 为学习时间，为学习该时间能够在考试中取得的分数 在这里来为这些数据寻求一个最好的模型 线性回归 Linear Model：(hat{y}=x*w) 训练损失 (误差) MSE（Mean Squared Mean）均方误差： [ loss=(h</description></item><item><title>通过正则化避免过拟合</title><link>https://blog.overfit.org/posts/2021-10-03-15363685-%E9%80%9A%E8%BF%87%E6%AD%A3%E5%88%99%E5%8C%96%E9%81%BF%E5%85%8D%E8%BF%87%E6%8B%9F%E5%90%88/</link><pubDate>Sun, 03 Oct 2021 10:39:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-10-03-15363685-%E9%80%9A%E8%BF%87%E6%AD%A3%E5%88%99%E5%8C%96%E9%81%BF%E5%85%8D%E8%BF%87%E6%8B%9F%E5%90%88/</guid><description>通过正则化避免过拟合。 深度神经网络通常拥有数万个参数，有时甚至有数百万个。这个深度神经网络带来了难以置信的自由度，意味着它们可以拟合各种各样的复杂数据集。 但是这种巨大的灵活性也使网络易于过拟合训练集。此时就需要正则化。 和正则化 可以使用正则化来约</description></item><item><title>更快的优化器</title><link>https://blog.overfit.org/posts/2021-09-30-15355308-%E6%9B%B4%E5%BF%AB%E7%9A%84%E4%BC%98%E5%8C%96%E5%99%A8/</link><pubDate>Thu, 30 Sep 2021 09:13:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-30-15355308-%E6%9B%B4%E5%BF%AB%E7%9A%84%E4%BC%98%E5%8C%96%E5%99%A8/</guid><description>动量优化 想象一下，一个保龄球在光滑的表面上沿着平缓的坡度滚动：它开始速度很慢，在很快会获得动量，直到最终达到终极速度（如果有摩擦或空气阻力）。相比之下，常规的梯度下降法只是在斜坡上采取小的、常规的步骤，因此算法将花费更多时间到达底部 回想一下梯度下降通过直接减去权重的成本函数J</description></item><item><title>深度神经网络的训练-梯度消失和梯度爆炸问题</title><link>https://blog.overfit.org/posts/2021-09-26-15340128-%E6%B7%B1%E5%BA%A6%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E7%9A%84%E8%AE%AD%E7%BB%83-%E6%A2%AF%E5%BA%A6%E6%B6%88%E5%A4%B1%E5%92%8C%E6%A2%AF%E5%BA%A6%E7%88%86%E7%82%B8%E9%97%AE%E9%A2%98/</link><pubDate>Sun, 26 Sep 2021 21:15:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-26-15340128-%E6%B7%B1%E5%BA%A6%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E7%9A%84%E8%AE%AD%E7%BB%83-%E6%A2%AF%E5%BA%A6%E6%B6%88%E5%A4%B1%E5%92%8C%E6%A2%AF%E5%BA%A6%E7%88%86%E7%82%B8%E9%97%AE%E9%A2%98/</guid><description>梯度消失与梯度爆炸问题 反向传播算法的工作原理是从输出层到输入层次，并在此过程中传播误差梯度。一旦算法计算出损失函数相对于每个参数的梯度，可以使用这些梯度以梯度下降步骤来更新每个参数。 随着算法向下传播到较低层，梯度通常会越来越小。结果梯度下降更新使较低层的连接权重保持不变，训练</description></item><item><title>构建MLP模型、数据可视化及神经网络超参数微调</title><link>https://blog.overfit.org/posts/2021-09-19-15312104-%E6%9E%84%E5%BB%BAmlp%E6%A8%A1%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%8F%8A%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E8%B6%85%E5%8F%82%E6%95%B0%E5%BE%AE%E8%B0%83/</link><pubDate>Sun, 19 Sep 2021 17:01:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-19-15312104-%E6%9E%84%E5%BB%BAmlp%E6%A8%A1%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%8F%8A%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E8%B6%85%E5%8F%82%E6%95%B0%E5%BE%AE%E8%B0%83/</guid><description>利用顺序API构建回归MLP 用回归神经网络解决加州的住房问题 用Sickit-Learn中的fetch_california_housing()函数加载数据 from sklearn.datasets import fetch_california_housing from s</description></item><item><title>残差神经网络(ResidualNet)</title><link>https://blog.overfit.org/posts/2021-09-11-15255671-%E6%AE%8B%E5%B7%AE%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9Cresidualnet/</link><pubDate>Sat, 11 Sep 2021 16:54:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-11-15255671-%E6%AE%8B%E5%B7%AE%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9Cresidualnet/</guid><description>残差神经网络（ResNet） 为什么神经网络的层数越来越深 由图可知随着神经网络层数的增加，神经网络的训练误差和测试误差相较于较低层数的神经网络都要更高。但是这个与越深的网络，训练误差和测试误差都要更小这个第一感觉相违背。 在相同的迭代次数下，更深的神经网络的误差更容易趋向于平稳</description></item><item><title>卷积神经网络（高级篇）</title><link>https://blog.overfit.org/posts/2021-09-09-15248896-%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E9%AB%98%E7%BA%A7%E7%AF%87/</link><pubDate>Thu, 09 Sep 2021 21:36:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-09-15248896-%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E9%AB%98%E7%BA%A7%E7%AF%87/</guid><description>构建高级卷积神经网络 以Google Net为例 GoogleNet的模型图为 可以看到其中有一个模块反复使用 Inception Module Inception Module 模型的具体结构图为 个人理解这个模块是将数据经过不同的卷积方式并保持图像大小不变得到不同的通来获得更</description></item><item><title>使用顺序API构建图像分类器</title><link>https://blog.overfit.org/posts/2021-09-08-15244220-%E4%BD%BF%E7%94%A8%E9%A1%BA%E5%BA%8Fapi%E6%9E%84%E5%BB%BA%E5%9B%BE%E5%83%8F%E5%88%86%E7%B1%BB%E5%99%A8/</link><pubDate>Wed, 08 Sep 2021 19:12:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-08-15244220-%E4%BD%BF%E7%94%A8%E9%A1%BA%E5%BA%8Fapi%E6%9E%84%E5%BB%BA%E5%9B%BE%E5%83%8F%E5%88%86%E7%B1%BB%E5%99%A8/</guid><description>使用Keras加载数据集 import tensorflow as tf from tensorflow import keras fashion_mnist=keras.datasets.fashion_mnist (X_train_full,y_train_full),(X_</description></item><item><title>PyTorch环境的配置</title><link>https://blog.overfit.org/posts/2021-09-06-15236192-pytorch%E7%8E%AF%E5%A2%83%E7%9A%84%E9%85%8D%E7%BD%AE/</link><pubDate>Mon, 06 Sep 2021 23:01:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-06-15236192-pytorch%E7%8E%AF%E5%A2%83%E7%9A%84%E9%85%8D%E7%BD%AE/</guid><description>PyTorch的配置 这里附上官网的链接https://pytorch.org/get-started/locally/ CPU版本 选择PyTorch版本(PyTorch Build)，Stable(稳定版)，Nightly(测试版) 系统版本，这里只介绍Windows系统的P</description></item><item><title>MNIST手写数字集的多分类问题(Convolution Neural Network)</title><link>https://blog.overfit.org/posts/2021-09-06-15236094-mnist%E6%89%8B%E5%86%99%E6%95%B0%E5%AD%97%E9%9B%86%E7%9A%84%E5%A4%9A%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98convolution-neural-network/</link><pubDate>Mon, 06 Sep 2021 22:34:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-06-15236094-mnist%E6%89%8B%E5%86%99%E6%95%B0%E5%AD%97%E9%9B%86%E7%9A%84%E5%A4%9A%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98convolution-neural-network/</guid><description>import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import DataLoader import torch.nn.fun</description></item><item><title>MNIST手写数字集的多分类问题(Linear Layer)</title><link>https://blog.overfit.org/posts/2021-09-06-15235991-mnist%E6%89%8B%E5%86%99%E6%95%B0%E5%AD%97%E9%9B%86%E7%9A%84%E5%A4%9A%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98linear-layer/</link><pubDate>Mon, 06 Sep 2021 22:10:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-06-15235991-mnist%E6%89%8B%E5%86%99%E6%95%B0%E5%AD%97%E9%9B%86%E7%9A%84%E5%A4%9A%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98linear-layer/</guid><description>import torch # 引入模块PyTorch from torchvision import transforms # 从torch视觉中引入转换函数 from torchvision import datasets # 导入数据库 from torch.utils.da</description></item><item><title>PyTorch创建简单的逻辑回归模型(LogisticRegression)</title><link>https://blog.overfit.org/posts/2021-09-06-15235875-pytorch%E5%88%9B%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8Blogisticregression/</link><pubDate>Mon, 06 Sep 2021 21:39:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-06-15235875-pytorch%E5%88%9B%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8Blogisticregression/</guid><description>import torch import torch.nn.functional as F # 从torch引入激活函数 x_data = torch.tensor([[1.0], [2.0], [3.0]]).cuda() # 将数据放在GPU上 y_data = torch.t</description></item><item><title>PyTorch实现LinearModel</title><link>https://blog.overfit.org/posts/2021-09-06-15234803-pytorch%E5%AE%9E%E7%8E%B0linearmodel/</link><pubDate>Mon, 06 Sep 2021 17:34:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-06-15234803-pytorch%E5%AE%9E%E7%8E%B0linearmodel/</guid><description>这里选择将模型和loss还有数据都在GPU上，方便后续能够将大型神经网络的计算图放在GPU上来加快训练速度 import torch # 引入PyTorch模块 x = torch.tensor([[1.0], [2.0], [3.0]]).cuda() # 创建张量x，y并使用</description></item></channel></rss>