0%

"基于 numpy 的手写数字识别", 这一经典问题除了用作深度学习入门内容, 还被广泛作为各大课程的课程作业, 因此在各大搜索引擎上搜索率也是相当之高(代码复用率也是相当之高). 网上确实有挺多现成的可使用代码, 但是大部分都是造的全连接网络, 并且很多时候内部原理不是特别清晰. 因此决定自己也来造一次轮子, 使用 numpy 实现一个简单的卷积神经网络进行手写数字识别, 正好也能借此机会梳理一下神经网络的基本原理.

全文包含完整的卷积网络实现, 以及矩阵梯度和卷积矩阵化的推导过程, 由于全文过长, 因此分成了三部分, 内容上是完全连着的.

本文为第二篇, 介绍含参数网络层和损失函数的实现, 以及反向传播时的梯度推导.

阅读全文 »

"基于 numpy 的手写数字识别", 这一经典问题除了用作深度学习入门内容, 还被广泛作为各大课程的课程作业, 因此在各大搜索引擎上搜索率也是相当之高(代码复用率也是相当之高). 网上确实有挺多现成的可使用代码, 但是大部分都是造的全连接网络, 并且很多时候内部原理不是特别清晰. 因此决定自己也来造一次轮子, 使用 numpy 实现一个简单的卷积神经网络进行手写数字识别, 正好也能借此机会梳理一下神经网络的基本原理.

全文包含完整的卷积网络实现, 以及矩阵梯度和卷积矩阵化的推导过程, 由于全文过长, 因此分成了三部分, 内容上是完全连着的.

本文为第一篇, 简单介绍了神经网络的基本学习原理和一些无参数网络层的实现.

阅读全文 »

在我导安排下作为防守方出了个题到看雪 2023·KCTF 上, 第十一题 步步逼近, 有幸拿了精致奖, 第一次参加这类比赛, 属实是走大运了. 这里把出题思路和题解贴一下, 和看雪的是一样的, 原文链接 https://bbs.kanxue.com/thread-278478.htm.

阅读全文 »

本文是对个人项目 DesktopSprite 的介绍, 一个使用 C++ 实现的原生桌宠程序, 基于 spine-runtimes v3.6.53 运行库, 可以支持碧蓝航线导出的小人动画资源.

阅读全文 »

本文是对 Transformer 训练和预测过程的一些细节理解记录, 基于 The Illustrated Transformer, 本文内符号也沿用此文.

主要是对于 Decoder 部分训练和预测时的区别以及并行化原理的总结.

阅读全文 »

Typora v1.3.8 破解版, 下载地址: typora-setup-x64.zip.

安装包安装之后, 将压缩包里的 winmm.dll 文件放到程序安装目录下. 可能会报毒, 需要手动添加信任.

校验码:

1
2
3
4
MD5: 8AA8CCF545DA329B44E56700C9D2F468
SHA1: A10C3549E148C7C8124AF9A46D4D3882AC86214B
SHA2-256: B997A59F563AD71282CFA99E3B1AD0900E7DE870D27576C5A53D1EC98567900E
SHA3-256: 590592CE225A2D5261B4D2EC892E869E61301ABDCC49D6D78A3AA268A38E1C4D

IDM 破解版, 下载地址: IDM-v6.41.11-Repack.zip.

校验码:

1
2
3
4
MD5: EC358D55F0B1657A3095568747CC5B27
SHA1: 8F544AA6CA37BA181A6D942441CC65C0B448FE42
SHA2-256: 8A6DE19A91AE4644762D89C507946AB8E7D096B39D14A32B42C2FAACF9C442DD
SHA3-256: 0679F2F0EB14C58149380429E1229AED27012A5ABC46347AE4742E3975C59079

因为网上没看到太好的核心步骤介绍和脚本, 所以自己造了一下轮子, 方便自己记录学习过程.

本文介绍碧蓝航线立绘提取和还原基本思路, 文末附有完整的批量还原 python 脚本.

阅读全文 »

邻接法 (Neighbor-Joining Method), 是一种利用进化距离数据重建系统进化树的方法, 用这个方法得到的进化树通常称为 NJ 树. 这是一种自底向上的聚类方法, 将每个个体看作一个类别, 然后依次两两聚合, 最终得到一整个聚合后的进化树.

本文简要介绍 NJ 树算法的基本流程与计算方法, 并在文末提供对应的 python 实现.

阅读全文 »

Windows 10 激活工具存档, 下载地址: W10_Digital_Activation_Program_v1.4.6_Chs.zip.

校验码:

1
2
3
4
MD5: A7A44635E59CC9C403EBA7873D1B6D0E
SHA1: 13275066B9D3FBFF8F99AA7CDF89D5AC2E94F571
SHA2-256: E44F2F49A0805F3B0B7CB4720B48CFCAEDB3755189ED12CC49F406B425A40296
SHA3-256: 078D7D813914831F4D19757FE98E89F49177C8EC9DEBA4A7FDEEE1083233D890