neural network and deep learning笔记(1)
neural network and deep learning 这本书看了陆陆续续看了好几遍了,但每次都会有不一样的收获。
DL领域的paper日新月异。每天都会有非常多新的idea出来,我想。深入阅读经典书籍和paper,一定能够从中发现remian open的问题。从而有不一样的视角。
PS:blog主要摘取书中重要内容简述。
摘要部分
- Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data.
Deep learning, a powerful set of techniques for learning in neural networks.
CHAPTER 1 Using neural nets to recognize handwritten digits
the neural network uses the examples to automatically infer rules for recognizing handwritten digits.
#
The exact form of active function isn’t so important - what really matters is the shape of the function when plotted.
#
4.The architecture of neural networks
The design of the input and output layers of a neural network is often straightforward, there can be quite an art to the design of the hidden layers. But researchers have developed many design heuristics for the hidden layers, which help people get the behaviour they want out of their nets.
Learning with gradient descent
- The aim of our training algorithm will be to minimize the cost C as a function of the weights and biases. We’ll do that using an algorithm known as gradient descent.
- Why introduce the quadratic cost? It’s a smooth function of the weights and biases in the network and it turns out to be easy to figure out how to make small changes in the weights and biases so as to get an improvement in the cost.
- MSE cost function isn’t the only cost function used in neural network.
- Mini batch: SGD randomly picking out a small number m of randomly chosen training inputs;epoch : randomly choose mini-batch and training until we’ve exhausted the training inputs.
Thinking about hyper-parameter choosing
”If we were coming to this problem for the first time then there wouldn’t be much in the output to guide us on what to do. We might worry not only about the learning rate, but about every other aspect of our neural network. We might wonder if we’ve initialized the weights and biases in a way that makes it hard for the network to learn? Or maybe we don’t have enough training data to get meaningful learning? Perhaps we haven’t run for enough epochs? Or maybe it’s impossible for a neural network with this architecture to learn to recognize handwritten digits?Maybe the learning rate is too low? Or, maybe, the learning rate is too high?
When you’re coming to a problem for the first time, you’re not always sure.
The lesson to take away from this is that debugging a neural network is not trivial, and, just as for ordinary programming, there is an art to it. You need to learn that art of debugging in order to get good results from neural networks. More generally, we need to develop heuristics for choosing good hyper-parameters and a good architecture.”- Inspiration from Face detection:
“The end result is a network which breaks down a very complicated question - does this image show a face or not - into very simple questions answerable at the level of single pixels. It does this through a series of many layers, with early layers answering very simple and specific questions about the input image, and later layers building up a hierarchy of ever more complex and abstract concepts. Networks with this kind of many-layer structure - two or more hidden layers - are called deep neural networks.”
CHAPTER 2 How the backpropagation algorithm works
Backpropagation(BP): a fast algorithm for computing the gradient of the cost function.
For backpropagation to work we need to make two main assumptions about the form of the cost function.
- Since what BP let us do is compute the partial derivatives for a single training example,so we need that the cost function can be written as an average over all individual example.
- It can be written as a function of the outputs from the neural network.Since y is not something which the neural network learns.
The four fundamental equations behind backpropagation
What’s clever about BP is that it enables us to simultaneously compute all the partial derivatives using just one forward pass through the network, followed by one backward pass through the network.
What indeed the BP do and how someone could ever have discovered BP?
A small perturbations
will cause a change in the activation,then next and so on all the way through to causing a change in the final layer,and then the cost function.
A clever way of keeping track of small perturbations to the weights (and biases) as they propagate through the network, reach the output, and then affect the cost.(未完待续……)
neural network and deep learning笔记(1)的更多相关文章
- 《Neural Network and Deep Learning》_chapter4
<Neural Network and Deep Learning>_chapter4: A visual proof that neural nets can compute any f ...
- Neural Network Programming - Deep Learning with PyTorch with deeplizard.
PyTorch Prerequisites - Syllabus for Neural Network Programming Series PyTorch先决条件 - 神经网络编程系列教学大纲 每个 ...
- Neural Networks and Deep Learning 笔记
1 Introduction to Deep Learning 介绍了神经网络的定义,有监督学习,分析了为什么深度学习会崛起 1.1 结构化数据/非结构化数据 结构化数据:有一个确切的数据库,有key ...
- Neural Network Programming - Deep Learning with PyTorch - YouTube
百度云链接: 链接:https://pan.baidu.com/s/1xU-CxXGCvV6o5Sksryj3fA 提取码:gawn
- 《Neural Networks and Deep Learning》课程笔记
Lesson 1 Neural Network and Deep Learning 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第一门课程的课程笔记. 参考了其他人的笔记继续归纳 ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week2 Neural Networks Basics课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week2 Neural Networks Basics 2.1 ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...
- 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks) —— 3.Programming Assignments: Deep Neural Network - Application
Deep Neural Network - Application Congratulations! Welcome to the fourth programming exercise of the ...
- 树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning
树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning 2018-04-17 08:32:39 看_这是一 ...
随机推荐
- Why Namespace?
上一节我们讨论了 Neutron 将虚拟 router 放置到 namespace 中实现了不同 subnet 之间的路由.今天探讨为什么要用 namespace 封装 router? 回顾一下前面的 ...
- Python连接MySQL数据库操作
一.创建数据库及表 CREATE DATABASE testdb; USE testdb; CREATE TABLE `tb_user` ( `id` INT (11) NOT NULL AUTO_I ...
- 【nginx】nginx的介绍
Nginx 反向代理初印象 Nginx (“engine x”) 是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP服务器.其特点是占有内存少,并发能力强,事实上nginx ...
- Codeforces 475D CGCDSSQ 区间gcd值
题目链接 题意 给定一个长度为 \(n\) 的数列 \(a_1,...,a_n\) 与 \(q\) 个询问 \(x_1,...,x_q\),对于每个 \(x_i\) 回答有多少对 \((l,r)\) ...
- duilib入门简明教程 -- 界面布局(9) (转)
原文转自:http://www.cnblogs.com/Alberl/p/3343806.html 上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的 ...
- input上报流程分析【转】
转自:http://blog.chinaunix.net/uid-28320320-id-3389196.html .参考文章 [Andorid]input系统的事件处理 .源码分析 linux )查 ...
- Spring Boot学习——第一个Spring Boot程序
依照下面的步骤创建项目: 点击 Next 项目介绍: Application.java中的主要代码: @SpringBootApplication public class ReaderApplica ...
- Scrapy笔记:使用scrapy shell url时出现403错误的解决办法
参考 : http://www.th7.cn/Program/Python/201704/1154208.shtml 原因是网站的防爬虫配置起到了作用 (1):第一种方法是在命令上加上-s USER_ ...
- [转]谈谈Java中的语法糖
*该博客转自 http://blog.csdn.net/danchu/article/details/54986442 语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某 ...
- VS恢复默认设置
通过“导入和导出设置”实现VS恢复默认设置 1.快捷步骤 工具 → 导入和导出设置 → 重置所有设置 → 下一步 → 选择“是否保存当前设置”,下一步 → 选择“要重置的开发语言(如,Visual C ...