茶桁
这个作者很懒,什么都没留下…
展开
-
33. CV练习: 验证码识别
Hi, 你好。我是茶桁。上一节课,我给大家留了个作业,内容是对验证码进行识别。咱们的再把练习内容重复看一下:练习内容: 训练一个模型,对验证码中的字符进行分类识别,并最终完成验证码识别的任务。数据集: 数据集内包含0-9以及A-Z一共36个字符,训练集中每个字符有50张图片,验证集中每个字符有10张图片,验证码数据集是由随机去除的4个字符图片拼接而成。好,让我们来看看具体的,我们该怎么完成这个练习。原创 2023-12-27 13:42:56 · 531 阅读 · 0 评论 -
32. 深度学习进阶 - Transfer Learning
Hi,你好。我是茶桁。之前的课程中,咱们学习了CNN的原理,学习了pooling, fully connected是做什么的。还了解了理论上简单的模型也是可以做事情的,只不过在特定的一些情况下要解决问题的时候简单方法效果不太好,所以用了像LSTM,或者RNN、CNN之类的结构。这些本质上都是在做特征的提取。一个经典的观念是,神经网络其实一共都可以分成两个部分,第一个部分是特征提取,第二个部分是分类器。原创 2023-12-24 14:03:11 · 337 阅读 · 0 评论 -
31. 深度学习进阶 - 全连接层及网络结构
Hi,你好。我是茶桁。之前的课程咱们学习了卷积以及池化,那到底卷积是如何构成卷积神经网络的呢?我们这节课来好好讲一下。原创 2023-12-20 14:03:28 · 465 阅读 · 1 评论 -
30. 深度学习进阶 - 池化
Hi,你好。我是茶桁。上一节课,我们详细的学习了卷积的原理,在这个过程中给大家讲了一个比较重要的概念,叫做,和。当然现在不需要直接去实现, 卷积的原理PyTorch、或者TensorFlow什么的其实都实现了。但我们现在如果要用PyTorch的卷积操作,它就会有一个input channel和output channel的一个写法。这里的方法是Conv2d,表示这里所应用的filter是一个2d的。那么它如何去做3d的?是将每一层的结果加在一起。与此对应的还有一个Conv3d。原创 2023-12-17 20:59:56 · 536 阅读 · 0 评论 -
29. 深度学习进阶 - 卷积的原理
如果说分割的这个小矩阵左右两边是相反数的时候,两边的差别是最大的,不管最后相加的值是正的还是负的,绝对值下应该是最大的。大概一九五几年、六几年的时候,哈佛大学曾经做过一个研究,给猫的大脑上装了一些电极,让这个猫去看前面的一个幻灯片,然后通过切换幻灯片的内容,然后观察猫的大脑哪些地方活跃。因为卷积核的不同,中间这个图把竖着的边缘明显提取的比较准确,右边的把横向的提取的比较准确。它的每一层都是一个不同的filter提取出来的,有这么多filter的原因则是每一个filter提取出来的特征都是不一样的。原创 2023-12-13 17:46:08 · 381 阅读 · 1 评论 -
28. 深度学习进阶 - LSTM
后来大家就发现了一种改进的LSTM,其中门控机制允许细胞状态窥视现前的细胞状态的信息,而不仅仅是根据当前时间步的输入和隐藏状态来决定。对于RNN来说,它有一个很严重的问题,就是之前说过的,它的vanishing和exploding的问题会很明显, 也就是梯度消失和爆炸问题。这节课,我们就着上一节课的内容继续往后讲,没看过上节课的,建议回头去好好看看,特别是对代码的进程顺序好好的弄清楚。是一个数学符号,但是在背后其实是一个矩阵,是一个矩阵的话少了一个矩阵意味着参数就少多了,运算就更快了等等。原创 2023-12-10 12:56:51 · 263 阅读 · 0 评论 -
27. 深度学习进阶 - 为什么RNN
是每一次随机的取期望的10个数字,这个数字我们就会根据序列来取出x和y, 然后把x送到模型里边得到outputs,得到outputs之后又出现熟悉的面孔, 我们求它的loss,再通过它的loss做反向传播。输出也是一个序列,有依赖关系。就是说,我们之前学习的这些内容,不管是图片还是用户的数据、或者文字,其实都是可以变成一个向量,再把向量送入到定义好的模型里,求出它的结果。但是我们对这个图片的多个物体是什么,还有位置标注出来,那这个在里面前面会有一段是一个分类问题,后面还有一个长的向量,又会是一个回归问题。原创 2023-12-06 19:40:47 · 315 阅读 · 0 评论 -
26. 深度学习进阶 - 深度学习的优化方法
Hi, 你好。我是茶桁。上一节课中我们预告了,本节课是一个难点,同时也是一个重点,大家要理解清楚。我们在做机器学习的时候,会用不同的优化方法。原创 2023-12-02 12:59:07 · 369 阅读 · 0 评论 -
25. 深度学习进阶 - 权重初始化,梯度消失和梯度爆炸
我们把它变到-390之后,本来我们本来做梯度下降更新完,xi期望的是loss要下降,但是我们结合图像来看,xi=-390的时候,loss就变得极其的巨大了,然后我们在继续,(-390)^4, 这个loss就已经爆炸了。就是当我们发现梯度有问题的时候, 大概在10年前,那个时候神经网络的模块也不太丰富,很多新出的model,做神经网络的人,一些导数,传播什么的都需要自己写,就我们前几节课写那个神经网络框架的时候做的事。这样,在做偏导的时候我们其中几个值特别小,那两个一乘就会乘出来一个特别特别小的数字。原创 2023-11-29 13:19:58 · 761 阅读 · 1 评论 -
24. 深度学习进阶 - 矩阵运算的维度和激活函数
Hi,你好。我是茶桁。咱们经过前一轮的学习,已经完成了一个小型的神经网络框架。但是这也只是个开始而已,在之后的课程中,针对深度学习我们需要进阶学习。我们要学到超参数,优化器,卷积神经网络等等。看起来,任务还是蛮重的。行吧,让我们开始。原创 2023-11-26 11:21:15 · 719 阅读 · 0 评论 -
23. 深度学习 - 多维向量自动求导
直接下降到了3,这是为什么?好,这里总结一下,就是我们有了拓朴排序,就能向前去计算它的值,通过向前计算的值就可以向后计算它的值。那现在其实我们已经完成了一个mini的深度学习框架的核心内容,咱们能够定义节点,能够前向传播运算,能够反向传播运算,能更新梯度了。可以说,最难的部分已经过去了,这节课到了我们来收尾的阶段,没错,生长了这么久,终于到迎接成果的时候了。现在咱们这个波士顿的所有数据实际上是一个15维的数据,15维的数据你根本看不了,咱们现在只要把x这个里边取一点值,在这个里边稍微把值给它变一下。原创 2023-11-22 13:42:23 · 560 阅读 · 1 评论 -
22. 深度学习 - 自动求导
我们需要每一个节点都需要一个值,一个变量,因为我们初始化的时候接收的x,k,b都赋值到了inputs里,这里我们将其取出来就行了,然后就是线性方程的公式。Sigmoid函数只接收一个参数,就是x,其公式为1/(1+e^{-x}),我们在这里定义一个新的方法来计算,然后在forward里把传入的x取出来,再将其送到这个方法里进行计算,最后将结果返回给它自己的value。而这里,我们用的MSE。之前咱们讲过,要将loss的值减小,那我们就需要求它的偏导,我们前面课程的求导公式这个时候就需要拿过来了。原创 2023-11-19 15:26:18 · 464 阅读 · 0 评论 -
21. 深度学习 - 拓朴排序的原理和实现
看,我们在删除node的时候,其所对应的value也就一起删除了,那这个时候,我们最后的输出列表里会丢失最后一个node。这是因为这个key,也就是输出值可能会输出到好几个函数里面,因为我们现在拿的是一个比较简单的模型,但是在真实场景中,有可能会输出到更多的节点中。也就是说我们首先需要记录的就是这个值,其次,如果我们把L2和sigmoid的值记下来,求解b1和k1的时候直接拿过来用就行,不需要再去计算一遍,这个时候我们的效率就会提升很多。只不过唯一的问题是现在这个order是反着的,需要把它再反过来。原创 2023-11-16 15:07:47 · 304 阅读 · 0 评论 -
20. 深度学习 - 多层神经网络
那么接下来的课程里,咱们要来看一下神经网络,怎么样去拟合更加复杂的函数,什么是激活函数,什么是神经网络,什么是深度学习。然后我们还要来学习一下反向传播,以及如何实现自动的反向传播,什么是错误排序以及怎么样自动的去计算元素的gradients。梯度怎么样自动求导。从简单的线性回归函数到复杂的神经网络,从人工实现的求导到自动求导。那我们现在来跟大家一起来看一下。原创 2023-11-13 13:39:38 · 359 阅读 · 0 评论 -
19. 深度学习 - 用函数解决问题
Hi, 你好。我是茶桁。上一节课,我们从一个波士顿房价的预测开始写代码,写到了KNN。之前咱们机器学习课程中有讲到KNN这个算法,分析过其优点和缺点,说起来,KNN这种方法比较低效,在数据量比较大的时候就比较明显。那本节课,我们就来看一下更加有效的学习方法是什么,A more Efficient Learning Way.接着我们上节课的代码我们继续啊,有不太了解的先回到上节课里去看一下。我们和如果能够找到这两者之间的函数关系,每次要计算的时候,输入给这个函数,就能直接获得预测值。那这个函数关系怎么获得呢?原创 2023-11-10 16:12:56 · 422 阅读 · 1 评论 -
18. 深度学习 - 从零理解神经网络
我们终于又开启新的篇章了,从今天这节课开始,我们会花几节课来理解一下深度学习的相关知识,了解神经网络,多层神经网络相关知识。并且,我们会尝试着来打造一个自己的深度学习框架。原创 2023-11-09 16:20:09 · 1464 阅读 · 2 评论 -
17. 机器学习 - 随机森林
Hi,你好。我是茶桁。我们之前那一节课讲了决策树,说了决策树的优点,也说了其缺点。决策树实现起来比较简单,解释解释性也比较强。但是它唯一的问题就是不能拟合比较复杂的关系。后来人们为了解决这个问题,让其能够拟合更加复杂的情况,提出来了一种模型,这种模型就叫做随机森林。原创 2023-11-05 13:39:46 · 387 阅读 · 1 评论 -
16. 机器学习 - 决策树
Hi,你好。我是茶桁。在上一节课讲SVM之后,再给大家将一个新的分类模型「决策树」。我们直接开始正题。原创 2023-11-02 12:11:19 · 840 阅读 · 2 评论 -
15. 机器学习 - 支持向量机
支持向量机的原理其实可以很复杂,但它是一个很经典的思想方法。咱们就把它的核心思想讲明白就行了。其实我们平时在工作中用的也比较少。但是面试中有一些老一代的面试官会比较喜欢问这个问题。支持向量机的核心思想,假如我们有两堆数据,希望找一根线去把它做分类,那么咱们找哪一根线呢?原创 2023-10-30 14:00:50 · 951 阅读 · 0 评论 -
14. 机器学习 - KNN & 贝叶斯
Hi,你好。我是茶桁。咱们之前几节课的内容,从线性回归开始到最后讲到了数据集的处理。还有最后补充了SOFTMAX。这些东西,都挺零碎的,但是又有着相互之间的关系,并且也都蛮重要的。并且是在学习机器学习过程当中比较容易忽视的一些内容。从这节课开始呢,我要跟大家将一些其他的内容。虽然最近几年用到的方法主要都是深度学习的方法,但是机器学习并不代表就只有深度学习这一种方法。当然现在的深度学习其实是从线性回归演化来的,都是用一种梯度下降的方式来做。但是呢其实有很多机器学习方法用的不是这种思想。原创 2023-10-28 12:18:07 · 715 阅读 · 0 评论 -
13. 机器学习 - 数据集的处理
数据量多和模型复杂其实是一回事。它背后的原因就是因为任何一个f(x)如果有很多的参数,拟合的时候随着这个参数数量越多,那么我们所需要的训练数据集也要增多。也就是说当模型非常复杂,参数特别多,只要数据量特别大,那就不算多。就说现有的数据量对于参数不够,训练力度不够。原创 2023-10-25 13:08:48 · 922 阅读 · 0 评论 -
12. 机器学习 - 拟合
假如有一个模型, 这个模型在训练数据的时候效果很好, 体现在loss很小, 或者说precision很高, accuracy也比较好, 但是在实际情况下, 用到没有见过的数据的时候,效果就很差, 那么这个就过拟合了.原创 2023-10-23 10:57:51 · 710 阅读 · 0 评论 -
11. 机器学习 - 评价指标2
上一节课,咱们讲到了评测指标,并且在文章的最后提到了一个矩阵,我们就从这里开始。原创 2023-10-20 07:00:00 · 619 阅读 · 1 评论 -
10. 机器学习-评测指标
很多人在学习过程中,会觉得「评测指标」是一个没有那么有趣的事情。比方说,咱们学模型,学算法,就可以去写程序,可以运行,写出来的时候会感觉还蛮酷的。但是评测指标呢,很多同学就觉得不是那么有趣。其实,我想告诉大家,评测指标是一个非常重要的东西。好比完成任何一个任务,不管你现在是完成普通的编程任务,还是要完成一个公司的市场行为、运营行为。一般来说,越复杂的任务,只要把评价指标,评价方式做对,这个任务基本上就已经完成了一半了。原创 2023-10-18 07:00:00 · 643 阅读 · 1 评论 -
09. 机器学习- 逻辑回归
那么咱们之前的model输出的是实数\in R, 这次需要的model就是输出的是0~1。这个模型的任务就变成了如果x给定的是1,那么model输出最后要尽可能的接近1。怎么样才能让我们的model输出是0到1之间呢?有一个方法,一个函数叫做logistic函数, logistic function:原创 2023-10-15 07:00:00 · 804 阅读 · 0 评论 -
08. 机器学习- 线性回归
线性回归非常的简单,也非常的基础。但是它作为我们整个人工智能,整个深度学习中要讲的第一课,里面蕴含了非常多的机器学习的基本思想。所以大家一定要把它学清楚。如果能把它学好,其实对于咱们以后学习帮助非常大。咱们来看一下,什么是线性回归。原创 2023-10-12 07:00:00 · 620 阅读 · 0 评论 -
07. 机器学习入门3 - 了解K-means
我们在机器学习入门已经学习了两节课,分别接触了动态规划,机器学习的背景,特征向量以及梯度下降。本节课,我们在深入的学习一点其他的知识,我们来看看K-means.原创 2023-10-09 07:00:00 · 140 阅读 · 0 评论 -
06. 机器学习入门2 - 理解特征和向量
当时大家还会融入统计分析方法,后来人们就发现根据原来的这些信息提炼出一些数据,让机器自动或半自动的提炼出一些信息,然后去预测新问题。这个过程就特别像小孩学习的时候,你给他很多知识他自己去学,学完之后去解决没有见过的问题。这种解决问题的方法,后来就叫做机器学习。我们就把解决这种问题的整个方法就叫做机器学习。原创 2023-10-07 19:19:19 · 179 阅读 · 0 评论 -
05. 机器学习入门 - 动态规划
咱们之前的课程就给大家讲了什么是人工智能,也说了每个人的定义都不太一样。关于人工智能的不同观点和方法,其实是一个很复杂的领域,我们无法用一个或者两个概念确定什么是人工智能,无法具体化。我也是要给大家讲两个重要的概念,要成为一个良好的AI工作者,需要了解两个概念,一个是什么是优化问题,第二个呢就是什么是继续学习。原创 2023-10-03 07:00:00 · 613 阅读 · 0 评论 -
04. 人工智能核心基础 - 导论(3)
我现在这门课程和市面上大部分的人工智能都不相同,那些课程实际上就是跟风,将一些已经通用的解决方案整合一下打包给你,卖你个几千几万的。主打的就是一个信息差。而我现在给大家讲的,是思维,是基础,是如何去理解人工智能,属于底层建设。原创 2023-09-29 10:02:32 · 245 阅读 · 0 评论 -
03. 人工智能核心基础 - 导论(2)
上一章中,我们谈论了人工智能在时间维度上的不同时间不同的侧重点,这只是一个片面的方面。当然除此之外,我们还要从其他方向来认识人工智能,才能更加的全面。那下面,我们就分别从方法论,问题范式和研究对象来分别认识一下人工智能,看看有没有什么不一样的心得。原创 2023-09-29 06:55:22 · 370 阅读 · 0 评论 -
02. 人工智能核心基础 - 导论(1)
接下来是一些关于学习的一些建议。这第一节课,我要跟大家带来一个很很重要的内容,就是我们这个课程叫做人工智能课程,那么咱们需要花费一些篇幅,来搞定的一个问题,就是人工智能到底是什么。你有没有想过人工智能是什么?这个世界上现在对于人工智能到底是什么几乎可以说每一个人的定义都不一样。不同的人,每一个同学其实都有一个自己的认识,每一个人其实对于人工智能的定义其实都不太一样。原创 2023-09-27 12:58:24 · 563 阅读 · 0 评论