BP神经网络算法的基本原理及C++实现 通过三天的折腾,总算把神经网络的C代码写出来了(用C写纯属因为我对它更熟悉一些,虽然现在基本人工智能算法都是Python写的,但C++快呀😆)(主要还是对Python不熟练,以后有时间应该用Python重写一遍),代码270行左右(对自己也是一次对代码熟练度的训练),使用BP(Back Propagation)神经网络,学习算法为随机梯度下降法 支持多线程学习(保证跑满CPU,GPU算法还 2022-01-29 机器学习 #神经网络
强化学习 - Deep Q-Learning Network算法 解决平衡小推车问题(Cartpole) 强化学习 强化学习(Reinforcement Learning, RL)是一种通过不断试错,并从中不断改进从而提升效果的学习算法. 一般来说,游戏或电脑中模拟的现实情况称为环境(Environment),智能体(Agent)在环境中可以做出行动(Action)从而最大化累积奖励(Reward),在每次行动后,智能体可以通过观察(Observe)环境得到状态(State)的变化并获得当前行动的奖 2022-08-24 机器学习 #RL #DQN
基于卷积神经网络CNN和去偏变分自动编码机DB-VAE的简单人脸识别模型 卷积神经网络 简介 卷积神经网络(Convolution Neural Networks, CNN, ConvNet),结构特性:局部连接,权重共享,汇聚信息. 主要适用于图像处理的一种神经网络,其想法来源来自于生物模型中的感受野(Receptive Field),即视觉神经元只会接收到其所支配的刺激区域的信号,即获得某个区域内的加权平均结果,这种操作在数学中就是卷积. 卷积 这里的卷积指的 2022-08-24 机器学习 #RNN #VAE
基于循环神经网络RNN的简单音乐生成 循环神经网络 简介 循环神经网络(Recurrent Neural Networks, RNN)是对前馈型全连接神经网络的改进. 全连接神经网络的输入维度在确定网络结构的时候已经固定,而且当特征之间具有的潜在关联性也无法解决. 循环神经网络支持输入任意长度的特征,并且可以通过处理特征之间具有的关联性,这也称为神经网络的记忆力. 一般的RNN具有短期记忆力,使用门控机制(Gating Mecha 2022-08-24 机器学习 #RNN
Jax+Flax+Optax 常用API Jax, Flax, Optax 中的常用API 下述代码测试环境CPU: R7-4800U,无GPU Jax jax.jit jax.jit(func, static_argnums=None, static_argnames=None) -> jit_func 用于对入参数类型为矩阵的纯函数 func 进行编译返回包装后的函数 jit_func,其中 static_argnum 2023-09-03 神经网络框架 > Jax #Jax
Jax+Flax+Optax 学习笔记 As accelerated Numpy 首先Jax有类似 numpy 的函数库,API使用基本一致: import jax.numpy as jnp x = jnp.aranga(int(1e8)) %timeit jnp.dot(x, x) # 比 np.dot() 要快, gpu上更快 First Transformation grad 和数学中求导一致,Jax可以自动对Python中 2023-08-21 神经网络框架 > Jax #Jax
CTC Loss及OCR经典算法CRNN实现 这里我们将基于深度神经网络CNN+CTC loss进行OCR(图像文本识别),可以使用经典CRNN网络,但是我这里使用的是全卷积网络,因为文本长度并不长,所以并不想考虑文本的序列信息,没有使用LSTM部分。 参考文献: (CTC loss)Connectionist Temporal Classification: Labelling Unsegmented Sequence Data wi 2023-10-13 CVPR
YOLOv1笔记 背景介绍 YOLOv1是Joseph Redmon于2015年提出的目标检测检测算法,YOLO系列(2023/09/20已经出到第8个版本)的特点在于其极高的识别速度,经典目标识别网络还有R-CNN和SSD,这些算法具有较高的准确率但是速度比YOLO慢至少一倍。 值得注意的是,作者Joseph Redmon在发布YOLOv3之后就退出CV界了,原因在于YOLO算法被用于商业中隐私窃取和军事武器当 2023-09-19 CVPR #YOLO
YOLOv2,YOLOv3笔记 YOLO9000: Better, Faster, Stronger(YOLOv2), YOLOv3: An Incremental Improvement 非常好的视频讲解:YouTube - ML For Neerds - YOLO OBJECT DETECTION SERIES 全部代码,自己用JAX+Flax+Optax实现,仅在数据读入处使用TensorFlow,从零开始实现YOLOv 2023-10-04 CVPR #YOLO
使用tinyrenderer入门OpenGL 我的github项目链接, 包含全部完整代码和三维图像数据. 介绍 我们使用的是来自 tinyrenderer 的github项目: 使用C++从零开始建立一个光栅化渲染器, 能够帮助我们入门OpenGL并理解其原理. 它所依赖库非常少, 包含他写的两个库文件, tgaimage.cpp, tgaimage.h 和 .obj 3D模型文件读取库 model.cpp, model.h 和 几 2022-06-05 CVPR