初识机器学习

对于机器学习,在不断的了解过程中,bigash会把学习的过程全记录,并且在理解不断加深的情况下修改文章,使得文章脉络尽量清晰,欢迎指正不足之处😁 此系列文章内容是基于bigash阅读《机器学习》-周志华 以及阅读网上相关内容编写,转载注明出处

简单理解

对于正常人对天气的经验,可以基于现状做出预判,比如今日傍晚和风晚霞,就猜测明天天气很好,而今日傍晚天气阴霾,狂风不止,就猜测出明日不是一个好天气。这种事情对于计算机来讲,是预判不到的,但是可以逼近,这就引出了机器学习

对于计算机,可以用数据(天气现状)建立模型(经验),从而计算(预判)出明天的天气

而很多的数据之下,我们可以用属性(风力,阳光)区分,张成一个二维坐标面,来训练经验,最终的结果就是属性 风力 = 和风 ,阳光 = 晚霞 的情况下,明日为好天气,而 风力 = 狂风不止,阳光 = 阴霾 的情况下,明日就不是好天气。

实质的情况不可能这么理想,可能会有三个,或者更多属性,那么张成的空间就是多维的,学习了线性代数之后,应该很容易理解,我们引进线性代数的思想,对的,矩阵,于是我们就有了处理机器学习计算的方法。

CPU,GPU,TPU区别和联系

机器学习的过程就是计算,计算就涉及到各种硬件,如CPU,GPU,TPU 。三者之间的特点和效率也是不尽相同的,

  • CPU CPU遵循的是经典的冯诺依曼架构,其核心就是存储程序,顺序执行,现在的CPU中包含了控制单元(CU),运算器(ALU),还包括高速缓冲存储器(Cache)
image-20220120214104559

CPU的架构中,大块的空间其实都是存储部分的,它更擅长的是逻辑控制,在并行的计算能力上是受到限制的

  • GPU GPU(Graphics Processing Unit)图形处理器,设计的初衷就是处理图形,图像中的每一个像素点都是它计算出来的
image-20220120214511328

GPU在结构上并没有专门为图像服务的部件,只是相对的对CPU的结构进行了优化与调整,但是这种数量众多的计算单元结构,很适合处理大量类型统一的数据,它还被用来科学计算、密码破解、数值分析,金融分析等需要大规模并行计算的领域,这也就是为什么大家都在炒显卡的根本原因了。

这里放出全图

image-20220120220140967

这样看是不是可以更直观的看出CPU和GPU的结构差异呢

图中的sm是指串流多处理器,sm中有8个sp(Streaming Processor)流式处理器,一个sp相当于一个小的cpu,这个结构可以提高gpu的并发计算能力

  • TPU CPU和GPU都是较为通用的芯片,TPU(Tensor Processing Unit)张量处理器,是谷歌专门为了加速深层神经网络运算能力研发的芯片,是一款ASIC(专用集成电路),相较于CPU和GPU,TPU会实现更高的处理速度和更低的功耗
    image-20220120222719855
    图中展示的是相对功率

谷歌的AlphaGo自15年后也用上了TPU,相较于之前内置的1202个CPU和176个GPU,TPU数量仅仅有48个,那一年正是AlphaGo与李世石的经典对战之年,一年之后,TPU才在谷歌 I/O 开发者大会公布

这里推荐谷歌的TPU Demo Site可以在ANIMATION DEMO中清楚的了解三者的差异,下图是部分讲解

image-20220120231007432

总的来讲,就是CPU单个核计算能力很强,但是核少,GPU核多,每个核虽然干不过CPU单核,但是很适合做并行运算,而深度学习就是很多的矩阵运算,TPU的本身构造就类似矩阵,拥有的核更多,就是为了深度学习而生的,所以TPU是三者中的强者

TensorFlow 和 PyTorch

作为机器学习的两个影响力巨大的框架,在学习过程中应该分清楚两者的区别和联系

TensorFlow

TensorFlow是一静态的框架,先设计好一个静态图,然后输入数据,在此之后,图不可修改

PyTorch

首先,PyTorch不同于TensorFlow,它是一种动态的框架,类似与numpy,对任何变量做任何操作都是灵活的,更容易与Python生态系统融合

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇