Cs231n-assignment 2作业笔记
assignment 2
assignment2讲解参见:
https://blog.csdn.net/BigDataDigest/article/details/79286510
http://www.cnblogs.com/daihengchen/p/5765142.html
最后一个作业Q5基于Tensorflow和Pytorch,将会需要在GPU上运行。
1. softmax_loss:
log_probs[range(N), y]:从log_probs中取出纵值为yi,即正确标签,横值图像数,即从log_probs中取出y所指向的正确类的概率值,得到是一个[N,]数组,加和后除以N,即为softmax_loss。
2.关于batch normalization:
参见:https://www.cnblogs.com/guoyaohua/p/8724433.html
参见:https://www.cnblogs.com/skyfsm/p/8453498.html
反向传播参见:https://zhuanlan.zhihu.com/p/26138673
https://blog.csdn.net/kevin_hee/article/details/80783698
基本流程:减去均值(mini-batch mean)、除以方差(normalize)、scale and shift。


3.总结:
到这里,我们大致学完了“神经网络”基础。我们学习了:
l 一个神经网络应该有三大基础东西 - 损失函数、梯度、权值(模板)。
l 神经网络将一个函数封装成一个独立的神经元,然后将神经元分层连接,使之高效地传递信息。
l 我们认识了各种激活函数(推荐使用ReLU)。
l 我们可以对初始数据做预处理(推荐使用“减均值+除标准差”)。
l 我们还可以对隐藏层也做类似处理(Batch Normalization)。
l 我们应该对权进行初始化(推荐使用“随机数+除标准差”)。
l 如果train/val之间有gap,就是过拟合了(推荐使用“R2+Dropout”)。
l 在训练中,要对各种参数进行更新(推荐使用Adam)。
l 最后,还有对超参数进行调优的方法。
Cs231n-assignment 2作业笔记的更多相关文章
- 笔记:CS231n+assignment1(作业一)
CS231n的课后作业非常的好,这里记录一下自己对作业一些笔记. 一.第一个是KNN的代码,这里的trick是计算距离的三种方法,核心的话还是python和machine learning中非常实用的 ...
- cs231n线性分类器作业 svm代码 softmax
CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...
- zabbix 应用监控作业笔记 ansible-playbook
目录 目录结构 zabbix-web.yaml zabbix-backup.yaml zabbix-nfs.yaml zabbix-mysql.yaml zabbix-server.yaml zabb ...
- DL基础:cs231n assignment 2
cs231n assignment 2 20210913 - 20211005. 目录 cs231n assignment 2 fully-connected nets 基本思想 编程细节 复习mul ...
- DL基础:cs231n assignment 1
cs231n assignment 1 20210804 - 20210808. 目录 cs231n assignment 1 总结 KNN 思想 cross-validation 编程细节 SVM ...
- 【cs231n作业笔记】一:KNN分类器
安装anaconda,下载assignment作业代码 作业代码数据集等2018版基于python3.6 下载提取码4put 本课程内容参考: cs231n官方笔记地址 贺完结!CS231n官方笔记授 ...
- 笔记:CS231n+assignment2(作业二)(一)
第二个作业难度很高,但做(抄)完之后收获还是很大的.... 一.Fully-Connected Neural Nets 首先是对之前的神经网络的程序进行重构,目的是可以构建任意大小的全连接的neura ...
- 【cs231n作业笔记】二:SVM分类器
可以参考:cs231n assignment1 SVM 完整代码 231n作业 多类 SVM 的损失函数及其梯度计算(最好)https://blog.csdn.net/NODIECANFLY/ar ...
- 笔记:CS231n+assignment2(作业二)(二)
一.参数更新策略 1.SGD 也就是随机梯度下降,最简单的更新形式是沿着负梯度方向改变参数(因为梯度指向的是上升方向,但是我们通常希望最小化损失函数).假设有一个参数向量x及其梯度dx,那么最 ...
- 笔记:CS231n+assignment2(作业二)(三)
终于来到了最终的大BOSS,卷积神经网络~ 这里我想还是主要关注代码的实现,具体的CNN的知识点想以后在好好写一写,CNN的代码关键就是要加上卷积层和池话层. 一.卷积层 卷积层的前向传播还是比较容易 ...
随机推荐
- 13.Git分支-变基(rebase)、rebase VS merge
1.变基的基本操作 在Git中整合来自不同分支的修改主要有两种方法:merge和rebase. 看下面的例子: 开发任务分叉到了两个不同的分支,并且都有了新的提交. 这时候我们可以使用 git mer ...
- MySQL开启远程连接权限
对于我们刚开始安装的mysql或者mariadb来说,默认是不开启远程连接的.所以需要我们手动开启远程连接的权限.如果你是使用docker安装mysql那需要先进入容器中,这里就不讲如何进入容器了,百 ...
- RAC集群数据库连库代码示例(jdbc thin方式,非oci)
1.RAC集群数据库连库代码示例(jdbc thin方式,非oci):jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc ...
- Vuex的基本概念、项目搭建、入坑点
前言:Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规则保证状态以一种可预测的方式发生变化. Vuex的四大核心 1.state 驱 ...
- @@ITENTITY
@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量.一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头.sele ...
- 在.NET中使用Redis
dll文件 namespace RedisDemo { public partial class RedisPage : System.Web.UI.Page { protected void Pag ...
- Python爬虫入门教程 22-100 CSDN学院课程数据抓取
1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/ ...
- 在龙芯小本上安装Debain8.10
(图片是LEMOTE8089D笔记本,来自互联网) YX原来送了一个LEMOTE笔记本给我.CPU是首款真正的国产,龙芯2F,兼容mips的指令集. 笔记本原来的操作系统是Debian6,后来升级到了 ...
- 前端笔记之JavaScript(一)初识JavaScript
一.JavaScript简介 1.1网页分层 web前端一共分三层: 结构层 HTML : 负责搭建页面结构 样式层 CSS : 负责页面的美观 行为层 JavaSc ...
- 大战Java虚拟机【2】—— GC策略
前言 前面我们已经知道了Java虚拟机所做的事情就是回收那些不用的垃圾,那些不用的对象.那么问题来了,我们如何知道一个对象我们不需要使用了呢?程序在使用的过程中会不断的创建对象,这些所创建的对象指不定 ...