
cs231n
文章平均质量分 87
理智点
如需联系 leezed525@qq.com
展开
-
cs231n assignment 1 2 3作业解析导航页
今日完成了cs231n的所有作业,因为目前并没有一个很完善的讲解cs231n的作业的教程,因此我对每个作业都进行了讲解,留下这个导航页,以避免出现有问题四处碰壁无处解决的问题,同时如果有人对教程中的内容有疑问,也欢迎评论留言或者发邮件给我。原创 2023-08-28 19:13:11 · 10577 阅读 · 3 评论 -
cs231n assignmen3 Extra Credit: Image Captioning with LSTMs
通过整个对cs231n的学习,让我们对整个深度学习有了个基础的认识,但是总体来说还是比较入门的讲解,对于深度学习的学习,还需要不断地钻研,这几个实验都挺好玩的,目前对于RNN虽然有了初步的印象,但是仍有一些地方比较模糊,还没有完全吃透。原创 2023-08-28 13:38:11 · 786 阅读 · 0 评论 -
cs231n assignment3 q3 Image Captioning with Transformers
因为transformer能够很容易的主要的输入的任何部分,但是注意力机制没有顺序的概念,但是,对于许多人物,尤其是自然语言处理任务,顺序非常重要,因此作者添加了位置标记对每个单词的token。我们可以看到,这几个线性层的输入输出维度是相同的,接下来只需要计算单纯的权重就好了,如果看不懂我的解析,可以看我的代码注释,同时建议看看上面那个链接的视频。多头注意力让我们对单纯的注意力的Q,K,V,计算的时候进行了投影,那么具体的投影方法,就是上面定义的。看懂上面的题面,就好了,还不懂就看代码。原创 2023-08-28 00:25:35 · 1162 阅读 · 3 评论 -
cs231n assignment3 q5 Self-Supervised Learning for Image Classification
这样这个实验就做完了,虽然自己实现了simSLR,但是感觉对这个模型的总体还不是特别清楚,细节部分倒是清楚了,等到时候所有cs231n作业做完再回过头理解一下吧。原创 2023-08-26 12:30:10 · 768 阅读 · 0 评论 -
cs231n assignment3 q4 Generative Adversarial Networks
让我们计算判别器的损失,具体怎么计算在上面的公式里写了,其中需要使用的bce_loss函数已经让我们使用了pytorch的函数。没啥好说的,pytorch的使用在之前我们也学习过了,直接调用相关api就好了,如果又不懂得看代码就好了。就是让我们生成噪音,使用torch.rand就好了注意我们的噪音区间应该在 (-1,1)注意我们现在不需要使用二元交叉熵的函数,因为上面这个公式里的loss计算公式。之后就是模型的训练了,直接看模型的训练结果好了。结合上面的材料,同时我的代码注释吧。原创 2023-08-24 20:10:16 · 864 阅读 · 0 评论 -
cs231n assignment 3 Q2 Image Captioning with Vanilla RNNs
对于循环神经网络的理解,不仅需要课程的讲解,也需要实验的理解,然后在结合课程,会有一个更深的理解。原创 2023-08-16 20:25:46 · 1445 阅读 · 2 评论 -
cs231n assignment3 q1Network Visualization
这篇任务给我感觉就是把输入图像当做学习的参数,然后用一个已经训练好参数的模型来生成图像,就是颠倒了输入参数和训练参数的感觉,有点生成图像的感觉。。。。个人见解。原创 2023-08-15 17:44:23 · 1127 阅读 · 2 评论 -
cs231n assignment2 q5 PyTorch on CIFAR-10
注意这里需要注意有没有使用Gpu版本的pytorch,我就是在这里发现我的pytorch没有cuda。关于optim ,我试过sgd 和 adam,但是我发现还是sgd效果对于这个样本好一点。看下pytorch是怎么用的,原理我们其实都清楚了,自己去查下文档就好了。就是让我们自己尝试搭建一种网络结构使其准确率大于70%让我们使用Pytorch来实现一个三层神经网络。具体的可以看上一个cell上面给出的文档地址。就仿照上面的两层全连接改写就好了。按照题面意思来就好了。也是仿照上面写就好了。原创 2023-08-14 18:39:42 · 1570 阅读 · 0 评论 -
cs231nassignment2 q4 Convolutional Neural Networks
因为是maxpool,所以x对loss的贡献就是如果x[i,j]是某个卷积窗口的最大值,那么他就对loss产生了影响,那么也就是说要计算他的dx,否则他的梯度就是0,这一点类比一下relu就行了,我们在计算relu的梯度的时候,如果x原创 2023-08-06 23:33:41 · 1716 阅读 · 2 评论 -
cs231n assignment 2 q3 dropout
这部分的理论知识,其实在课程中已经讲的比较清晰明了,因此我这里不在赘述相关的知识点,又不懂得地方多看几次课应该能看明白。他主要是会在训练模型的时候随机丢弃一些神经元,但是在使用模型的时候保持不变,这就是dropout干的事情。训练时随机丢弃神经元,test时保持不变,就这么简单。可以看出不使用dropout的模型有点过拟合了。就是加了一层dropout层在最后。原创 2023-08-05 14:49:48 · 913 阅读 · 0 评论 -
cs231n assignment 2 q2 batchnormalization
对于这两个normalization ,我是这么理解的,batch normalization 是对输入矩阵的每一列求平均值和方差,而layer normalization 是对输入矩阵的每一行求平均值和方差,所以batch normalziation 对输入数据的数量敏感,而layer normalization 因为是对每一行求方差,而每一行有多少元素是固定的,因此对输入数据的数量不敏感。就是让我们实现两种,一种是训练时的前向计算,一种是测试时的前向计算,具体怎么实现看上面的推导。原创 2023-08-04 21:29:22 · 1967 阅读 · 1 评论 -
cs231n assignment2 q1
这里的fc_net跟之前assignment1 q4的神经网络不同,之前的神经网络层数是固定的两层,这一次的神经网络是任意多层,因此我们需要使用循环来实现层数的定义,总之具体的细节看代码就能理解。接下来一部分就是让我们来实现参数更新的规则的视线,除了最基础的梯度下降,还有几个新学的更新算法,具体的可以看这个网站。学习率对于拟合效果的影响我就不赘述了,说一下Weight_scale对拟合效果的影响吧。可以看到init函数跟之前的有了很大的不同。翻译一下其中初始化的时候传进来的参数的释义。原创 2023-08-02 17:08:23 · 2323 阅读 · 0 评论 -
cs231n assignment1 q5
往期文章cs231n作业 assignment 1 q1 q2 q3本次作业我们使用更高级别的特征来学习,而不仅仅是由简简单单的像素点作为训练的特征之前的几个训练,包括我们自己搭的两层神经网络,单纯的softmax 和 svm, 我们最高的准确率也只有50%,而对图像进行特征提取在进行学习,我们的准确率会进一步的提高从这份作业可以看出确实基于特征的学习比基于像素的学习更好一点,但是并没有好的明显,这份作业主要是让人学了一下基本的深度学习代码编写的技巧。原创 2023-07-28 16:55:27 · 1368 阅读 · 0 评论 -
cs231n assignment1 q4
往期作业cs231n作业 assignment 1 q1 q2 q3就是让我们训练一个神经网络,跟着教程一步一步走就好了让我们实现一下前向传播的代码,同时让我们对输入的X进行维度转换,就像之前的q1 q2 q3 中教程帮我们做的一样我觉得没啥好说的,如果说X的维度转换不会的话,可以翻看前面的ipynb,里面又怎么转换的方法,或者直接看我的代码输出就是让我们求dx,dw,db,注意题目需要的shape看推导就行了,推导看懂了就不需要解析了输出题面这个太蠢了,就是如果x的元素小于0就赋值为原创 2023-07-25 20:21:33 · 2377 阅读 · 1 评论 -
cs231n作业 assignment 1 q1 q2 q3
请先看课程作业地址。有两种做作业的方法,一种是在google Colab上做 (需魔法),另一种就是下载到本地,但是我懒得在本地配置环境,太麻烦了,还得修改一些基础代码,我就直接在google colab上做了google colab 配置环境只需要跟着教程走就好了最后还有一题解答题懒得做的,这个题目做的没啥意思。让我们用简单写法来实现softmax的loss函数与梯度计算。原创 2023-07-24 15:22:51 · 6870 阅读 · 10 评论