深度学习

【机器学习】人人都可以做深度学习应用:入门篇(上)

一、人工智能和新科技革命

2017年围棋界发生了一件比较重要事,Master(Alphago)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类的面前。围棋曾经一度被称为“人类智慧的堡垒”,如今,这座堡垒也随之成为过去。从2016年三月份AlphaGo击败李世石开始,AI全面进入我们大众的视野,对于它的讨论变得更为火热起来,整个业界普遍认为,它很可能带来下一次科技革命,并且,在未来可预见的10多年里,深刻得改变我们的生活。…

PaddlePaddle系列之三行代码从入门到精通

本文介绍 PaddlePaddle系列之三行代码从入门到精通

PaddlePaddle系列之三行代码从入门到精通

前言

这将是PaddlePaddle系列教程的开篇,属于非官方教程。既然是非官方,自然会从一个使用者的角度出发,来教大家怎么用,会有哪些坑,以及如何上手并用到实际项目中去。…

从学习 Paddle 开始学习深度学习(一)

深度学习的黄金时代已经到来

开场白

首先给Baidu打一波广告。Paddle深度学习平台,你值得学习。

它的优点

  • 灵活性:PaddlePaddle支持广泛的神经网络结构和优化算法,很容易配置复杂的模型,如基于注意力(Attention)机制或复杂的内存(Memory)连接的神经机器翻译模型。(Attention和Memory参考阅读: 深度学习和自然语言处理中的attention和memory机制 、 深度学习:推动NLP领域发展的新引擎 )
  • 高效:在PaddlePaddle的不同层面进行优化,以发挥异构计算资源的效率,包括计算、内存、架构和通信等。例如:
    • 通过SSE/AVX内部函数,BLAS库(例如MKL,ATLAS,CUBLAS)或定制CPU/GPU内核优化的数学运算。
    • 高度优化循环网络,以处理可变长度序列,无需填充(Padding)。
    • 优化高维稀疏数据模型的本地和分布式训练。
  • 可扩展性:PaddlePaddle很容易使用多个CPU/GPU和机器来加快你的训练,通过优化通信实现高吞吐量、高性能。
  • 连接产品:PaddlePaddle易于部署。在百度,PaddlePaddle已经被部署到广大用户使用的产品或服务,包括广告点击率(CTR)的预测,大型图像分类,光学字符识别(OCR),搜索排名,计算机病毒检测,推荐等。

来自网络


初识

先做一个形象的比喻,Paddle就好比一台3D打印机,我们设计的神经网络就好比需要打印的模型,而我们的数据集就相当于原材料,把两者同时提供给这台打印机,经过一段时间就可以得到我们预期的产品--模型(Trained Model).

简言之,paddle 做的工作就是利用我们设计的模型和我们提供的数据 通过高性能的并行技术(CPU/GPU)来完成训练。

所以,我们在使用 Paddle 做深度学习时最基本的工作就是设计一个完美的模型并准备好数据。也就是要有以下几个文件:

  • trainer_config.py : 配置神经网络模型
  • data_provider.py : 数据提供
  • train.sh : 配置paddle训练的参数

安装

paddle提供了三种安装方式:

  • Docker 安装,非常便捷,但必须在Docker环境下部署。
  • deb 安装,

百度开源深度学习框架PaddlePaddle安装配置

一、环境配置

PC机一台+UBUNTU 16.04系统

二、过程

1、使用Docker安装PaddlePaddle

1)在Ubuntu 上安装 Docker: 参考 http://blog.p2hp.com/archives/4809

2)安装完后在命令行键入sudo service docker start和sudo docker run hello-world,验证Docker正确安装;

3)在命令行键入     sudo docker run -it paddlepaddle/paddle:0.10.0rc3-noavx /bin/bash开始下载安装Paddle docker,由于网络环境不同,下载速度会有所差异,等待Paddle docker的下载和安装

4)安装完成后,你会发现命令行发生变化了,变成了root@e1f3456e7992:/#,OK,安装成功

2、运行一个PaddlePaddle的Demo

我们以quick_start为例,

1)首先,从github上将paddle项目拉取到本地,或者从github上直接下载项目的zip压缩包:点我进入PaddlePaddle github项目

2) 进入/home/yangyanbin/下载/Paddle-develop/v1_api_demo/quick_start/data

3)在命令行键入 bash ./get_data.sh 下载实验数据

4)启动paddle的docker镜像…

深度学习和神经网络简介

有一次,我和Vito(我的合伙人)聊起了当下热门的几种技术趋势。当谈及它们在未来可能的发展前景的时候,Vito说了下面的一段话:

人工智能是个信息革命到蒸汽机规模之间的机会,相比之下虚拟现实应该是移动互联网级别的,而用户个性化服务应该是伴生规模的。

如果人工智能技术带来的变革确实能够比拟工业革命的话,那么它势必会成就一代人,同时也淘汰掉一代人。而且,仔细想想,其实人工智能离我们并不遥远,甚至可以说已经开始深入到我们的日常生活中了。从iPhone里的Siri,到各大网站的内容推荐系统,再到图像识别和人脸识别技术的广泛应用,这些场景的背后都有这项技术在发挥作用。…