Python 实现深度学习
前言
最近由于疫情被困在家,于是准备每天看点专业知识,准备写成博客,不定期发布。
博客大概会写5~7篇,主要是“解剖”一些深度学习的底层技术。关于深度学习,计算机专业的人多少都会了解,知道Conv\Pool的过程,也看过论文,做过实验或是解决方案。在写的各种卷积网路 时候,有没有问问自己:这些网络到底是怎么“运作”起来的?如果自己要实现一个具备基本功能的神经网络应该怎么去实现?
知道事物的表面现象,不知事物的本质及其产生的原因是一件很可悲的事情,正如鲁迅所说:What I cannot create, I do not understand. 只有亲自实践去创造一个东西,才算真正弄懂一个问题。
本着“知其然,知其所以然”的目的,会尽可能的用Python库和基本的数学知识,创建经典的深度学习网络。
每篇的计划如下:
第一篇介绍numpy库和matplotlib库、读写二进制的方法、pkl等。这些知识会在后面用到,在本篇的最后会以mnist数据集为例,创建处理手写体图片的函数,供后使用。
第二篇介绍感知机。用感知机实现逻辑门、用多层感知机实现复杂逻辑门。
第三篇神经网络的设计与实现。分为上下两部分:
3.1篇增加神经网络的forward。实现激活函数、全连接层的计算、输出层。最后用mnist数据集测试forwarld是否正确;
3.2篇增加神经网络的backward。实现损失函数、梯度、学习算法。最后用mnist数据集测试神经网络的训练。
第四篇引入计算图的思想,用计算图的方式实现乘法层、加法层和激活层。最后用mnist数据集测试这些简单层。
第四篇添加optimization模块。设计实现SGD,momentum,学习率的衰减,adam。 最后用mnist数据集作对比。
第五篇增加一些处理过拟合的方法。实现droupout,权值衰减,。用mnist数据集测试效果
第六篇增加batch-normalization功能。用mnist数据集做测试效果;
第七篇增加conv和pool功能。实现一个lenet-5
前面七篇的代码和博客已经写完了,经过整理以后会陆续发布。就这样吧,加油!
Python 实现深度学习的更多相关文章
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- 学习Keras:《Keras快速上手基于Python的深度学习实战》PDF代码+mobi
有一定Python和TensorFlow基础的人看应该很容易,各领域的应用,但比较广泛,不深刻,讲硬件的部分可以作为入门人的参考. <Keras快速上手基于Python的深度学习实战>系统 ...
- Matlab和Python用于深度学习应用研究哪个好?
Matlab和Python都有一些关于深度学习的开源的解决方案(caffe\DeepMind\TensorFlow),基于哪个开展应用研究好?
- 机器学习python*(深度学习)核心技术实战
Python实战及机器学习(深度学习)技术 一,时间地点:2020年01月08日-11日 北京(机房上课,每人一台电脑进行实际案例操作,赠送 U盘拷贝资料及课件和软件)二.课程目标:1.python基 ...
- 人工智能新手入门学习路线和学习资源合集(含AI综述/python/机器学习/深度学习/tensorflow)
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] 1. 分享个人对于人工智能领域的算法综述:如果你想开始学习算法,不妨先了解人工 ...
- 吴裕雄--天生自然python Google深度学习框架:Tensorflow实现迁移学习
import glob import os.path import numpy as np import tensorflow as tf from tensorflow.python.platfor ...
- 吴裕雄--天生自然python Google深度学习框架:经典卷积神经网络模型
import tensorflow as tf INPUT_NODE = 784 OUTPUT_NODE = 10 IMAGE_SIZE = 28 NUM_CHANNELS = 1 NUM_LABEL ...
- 吴裕雄--天生自然python Google深度学习框架:图像识别与卷积神经网络
- 吴裕雄--天生自然python Google深度学习框架:MNIST数字识别问题
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...
随机推荐
- Centos 7 firewall的防火墙的规则
这是官方文档: http://www.firewalld.org/documentation/man-pages/firewall-cmd.html 想使用iptables的规则,firewall也可 ...
- PHP0011:学生信息管理案例
PHP中 html js 混合用
- CodeForces - 1105D 多源搜索
#include<bits/stdc++.h> using namespace std; typedef long long ll; struct node{ int x,y; ll se ...
- ASP.NET Identity系列教程-2【Identity入门】
https://www.cnblogs.com/r01cn/p/5177708.html13 Identity入门 Identity is a new API from Microsoft to ma ...
- LaTeX技巧001:LaTeX中输入大小写罗马数字
\uppercase\expandafter{\romannumeral20} \romannumeral20 前者将输入大写罗马数字20, 后者将输入小写罗马数字20.
- 自定义Keras Layer
Keras的Layer其实就是一个Class, 要具有以下几个方法: (1) build(input_shape): 定义权重的地方, 如果不需要定义权重, 也要有self.built = True; ...
- Leetcode Week2 Two Sum
Question Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- HDU 4544 湫湫系列故事——消灭兔子 (优先队列)
湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏. 游戏规则很简单,用箭杀死免子即可. 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子 ...
- RHEL/CentOS 7中Nginx的systemd service
源码安装的nginx ,没有systemd service 管理 nginx 下面教程,告诉你如何设置nginx 的systemd service nginx systemd的服务文件是/usr/li ...
- 如何在MacOS的VScode上安装Python3
由于MacOS上的VScode默认安装的Python版本是2.7,所以需要我们自己手动安装Python3从Python官网下载最新版本-安装-设置环境变量当然是可行的,但下面要介绍的是另外一种方式:H ...