- 博客(57)
- 资源 (1)
- 收藏
- 关注
翻译 My Neural Network isn‘t working! What should I do?
Created on Aug. 19, 2017, 5:56 p.m.So you’re developing the next great breakthrough in deep learning but you’ve hit an unfortunate setback: your neural network isn’t working and you have no idea what to do. You go to your boss/supervisor but they don’t kn
2020-08-31 16:32:20 378
原创 miulab的evaluate的解读
挖坑"""Copy file (including metric) from MiuLab: https://github.com/MiuLab/SlotGated-SLU"""import os# compute f1 score is modified from conlleval.pldef __startOfChunk(prevTag, tag, prevTagType, tagType, chunkStart=False): if prevTag == 'B' and tag
2020-08-22 22:51:52 419 2
原创 软件构造心得(14):从两道期末考试题看待并发的一些思路与技巧(附答案参考)
前言哈工大的软件构造期末考试题中,最有难度的往往就是多线程了。而很多同学包括我在内,也是上课听的很懂,但是实际操作中出现了很多问题。这篇博文就和大家一起捋捋期末考试题,看看技巧和入手的点在哪里。如有错误恳请指正。2018年期末考题第二道大题先po一下笔者认为的有风险的地方。第一行的public,必然会引发表示泄露,而表示泄露从线程角度来看也是危险的,所以要将其改为private。加不加final修饰呢?我们发现,每一次调用removeSomelinesAndUnifyTitle方法都会进行一次
2020-07-08 15:19:32 2780 6
原创 自动机简明教程:目录和内容(完结)
前言本系列内容主要针对于哈工大形式语言与自动机课程内容做一个方法论上补充。拓展一些证明,落实一些具体的方法,做一些归纳和整理,思维的升华。至于更加深入的东西,并没有被课程当作重点,这里我也就权当暂时不需要而不深入研究了。希望能为复习自动机的朋友们有所裨益。当前编者:HYFans群问题目录如何根据要求设计出DFA如何根据要求设计出NFA如何根据要求设计出正则表达式DFA转NFA正则转DFA/NFA转正则如何使用泵引理证明一个语言不是正则语言如何根据要求写出上下文无关文法如何根据要求设计
2020-06-14 12:32:12 461
原创 算法设计与分析心得(2):A*算法正确性证明
A*算法思想分支界限法在找界限减去不可能的情况,最终搜索完所有可能的情况,在做减法;而A*意图告诉我们什么时候已经得到了最优解,在我们找的时候肯定我们的解。当什么时候A*算法正确?当所有可以拓展的点中,我们下一步要拓展的点就是T点(目标节点)。那么我们就无需拓展了,T点就已经是最优的了。正确性为什么A*算法对?以最短路搜索举例我们先定义一些名词:当我们到达点n时,已经付出的代价为g(n),这是我们已经知道的,然后假设有上帝,告诉我们这条路到最优解还差h*(n),但是没有上帝,我们仅仅用这个节点下
2020-06-14 09:09:10 1576
原创 软件构造心得(13):用流的泪说明为什么不要滥用unchecked异常
前言最早最早,我不知道有exception这个东西,之后去博客上找一些不系统的入门教程,在胎儿时接受了不正确的教育一样,觉得exception那么多,又不认识,怪乱七八糟的,反正在我代码上乱加东西可不行。于是曾几何时,我在我的代码里面写满了RuntimeException…一旦违背迅速报错,中间没有任何的乱七八糟追求短平快的我,即使一开始老师讲过,看了课件之后也是一个劲的狡辩:“那不是还说有些程序员支持有些程序员反对吗,那我这么写没问题的,好像老师最早也就只教了那个嘛,再改我真的吐了(HITlab3真的
2020-05-28 19:27:06 422
原创 深度学习笔记(40):第五课第三周第二次作业
这一部分的实验我觉得挺跳跃的,突然就到语音识别了时间重叠判定# GRADED FUNCTION: is_overlappingdef is_overlapping(segment_time, previous_segments): """ Checks if the time of a segment overlaps with the times of existing segments. Arguments: segment_time -- a tupl
2020-05-25 23:50:03 338
原创 深度学习笔记(39):第五课第三周第一次作业
带注意力机制的机器翻译即我们要在实验中实践下图其中下面的图片是对于上面的图片注意力部分的展开,使用所有的encoder的隐藏层输入和上一个s来得到这一次的context代码代码主要是keras都得现学挺恶心的# GRADED FUNCTION: one_step_attentiondef one_step_attention(a, s_prev): """ Performs one step of attention: Outputs a context vector com
2020-05-25 23:43:16 287
原创 深度学习笔记(38):第五课第二周第二次作业
前言实现一个如图所示的句子情感判断器,找出对应的emoji(np序列把我小坑一下)v1# GRADED FUNCTION: sentence_to_avgdef sentence_to_avg(sentence, word_to_vec_map): """ Converts a sentence (string) into a list of words (strings). Extracts the GloVe representation of each word a
2020-05-25 23:31:41 496
原创 深度学习笔记(37):第五课第二周第一次作业
前言学习加载预训练的词向量,并使用余弦相似度测量相似度(我们这里没有足够的时间训练,现阶段直接加载就好)使用单词嵌入来解决单词类比问题,例如“男人相对女人”,“国王相对____”。修改词嵌入以减少其性别偏见代码# GRADED FUNCTION: cosine_similaritydef cosine_similarity(u, v): """ Cosine similarity reflects the degree of similariy between u and v
2020-05-25 23:25:54 237
原创 深度学习笔记(36):第五课第一周第三次作业
前言本周使用LSTM创作一首爵士小歌。代码djmodel# GRADED FUNCTION: djmodeldef djmodel(Tx, n_a, n_values): """ Implement the model Arguments: Tx -- length of the sequence in a corpus n_a -- the number of activations used in our model n_values
2020-05-25 23:11:26 282
原创 深度学习笔记(35):第五课第一周第二次作业
前言本次实验使用了字母级的RNN文本生成系统,额外练习了采样,梯度裁剪的方法。代码梯度裁剪### GRADED FUNCTION: clipdef clip(gradients, maxValue): ''' Clips the gradients' values between minimum and maximum. Arguments: gradients -- a dictionary containing the gradients "dWaa
2020-05-25 23:05:12 243
原创 深度学习笔记(34):第五课第一周第一次作业
前言本实验实现了RNN和LSTM的正向传播和反向传播RNN实现一个cell# GRADED FUNCTION: rnn_cell_forwarddef rnn_cell_forward(xt, a_prev, parameters): """ Implements a single forward step of the RNN-cell as described in Figure (2) Arguments: xt -- your input data at
2020-05-25 22:58:37 199
原创 深度学习笔记(33):从seq2seq到注意力模型
seq2seq首先我们要明白,seq2seq是在读入一个序列,生成一个序列。他的思想是encode和decode的思想,即先通过一组RNN进行编码将语言吃进来产生一个整体的语义,然后再不断通过刚刚产生的y值和解读出来的语义再通过一组RNN进行解码将语言序列翻译成另一组序列。抽象看就是如下公式:X = (x1,x2,x3,x4,…xm)Y = (y1,y2,y3,y4…yn)C = F(x1,x2,…xm)yi = G(C,y1,y2,…yi-1)其中X是输入序列,Y是输出序列,C是中传信息,y
2020-05-25 22:27:01 255
原创 深度学习笔记(32):word2vec模型简介
前因与使用ASCII或者其他编码方式编码的字符能表达万物,但是对于nlp来讲,处理的最小单元是词汇而不是字符。所以我们必须建立一个字典集合,将所有的出现的词汇放到其中,然后将他们映射成onehot,但是这么做的话,每个单词的维度都是字典集合的大小那么大,而且一堆零一个一纯粹是简单的先后顺序问题,并没有什么语义上的实际意义。所以我们需要做若干件事:降维,信息量增大。要做到这两点,一个直观的想法就是去重新设置特征,然后去编码,比如对于[‘man’,‘woman’,‘apple’,‘banana’,‘quee
2020-05-25 16:50:27 426
原创 深度学习笔记(31):LSTM一点简要理解
前言RNN提供了捕捉序列特性的一种方案,然而由于梯度爆炸或者梯度消失问题,对于句子中距离较长的词汇,RNN由于训练时反向传播的修改从句子末尾到句子开始时已经变得很微弱,以至于难以建立较大的联系,因而RNN在捕捉中长距离句型关系时效果较差。很多研究者就提出了很多种方案在一定程度上良好的解决了这种问题,其中最知名的就是LSTM(1997)和GRM(2014).LSTM个人认为,要想理解LSTM,首先要明白动机:状态扩展。RNN的问题就在于他由于只有一个状态,所以“长途跋涉”,对于短期敏感,无法长期练习。
2020-05-25 15:40:41 255
原创 深度学习笔记(30):RNN循环神经网络模型总结
本周的深度学习课程进入了第五课,也就是最后一课。学完这一段,我们应该就会开组会然后讨论下一步的安排了。。。无论如何,该将重心重新挪回到算法,软构,自动机等考试的准备上了。前言RNN循环神经网络实际上是一种处理序列的专用网络结构,比如语言等,因为词汇之间的联系和关系以及其所在的位置对实际上的意思是有直接影响的,如果这件事情用神经网络来做的话无法捕捉到具体位置所具有的特性。介绍一图以蔽之是下图。我个人认为可以类比核糖体去理解。当然初学者我们不应该这么精简的,于是我们继续看下面的展开和解释。接下来是
2020-05-25 15:21:53 1274
原创 深度学习笔记(28):目标探测
前言我们再更多的情况下不仅仅想要将图像分类,我们还想判断这个物体到底在图像的哪个部位上,所以说这时候目标探测应运而生。目标探测,除了要使用softmax判断类别外,还需要一个边界框(以中心点的x,y和宽和高四个参数来体现)。涉及的技术有判断轮廓的landmarkdetection有判断是否有物品的object detection还有我们的localization and detecti...
2020-05-06 14:48:33 451
原创 深度学习笔记(27):残差网络ResNet50简介
前言想要训练足够强大的神经网络,我们就需要搭建足够深度的网络,但是深的网络会不可避免地产生梯度爆炸或者梯度消失问题,使得训练缓慢亦或者根本见不到明显的下降。如下图我们的Relu函数和Batchnorm等都在解决这种问题,使得更加深的神经网络的训练能够被实现。本次我们介绍另一种很有效的解决思路,ResNet。什么是ResNetCNN的核心组件是convolutional filter和po...
2020-05-06 12:52:20 5976
原创 深度学习笔记(26):卷积神经网络CNN简介
前言对于海量信息的高清图像,如果我们使用传统的全连接神经网络,会造成所需要训练的参数过多以致于无法训练成功。这时候一种新的网络模型被提出来,即CNN(Cov-Nerual-Network)。我们在下面对于其基本原理和需要注意的细节进行简要介绍。CNN的创始人是LeCun,三巨头之一,LeNet也是后续所有的CV行业的net致敬的名字。CNN的思想所在cnn为了减少我们所训练的特征数,其思...
2020-05-06 12:35:25 496
原创 深度学习笔记(25):第四课第二周第二次作业
前言本次实验实现了残差网络ResNet。残差网络的一个重要的思想是skip,这样可以加深神经网络,使得深层次的神经网络能够下降,进而训练出更好的神经网络来。这次实验我们可以从中了解到Reg50残差网络的结构,他的基本构成,并且使用论文所提供的参数搭建出一个这样的神经网络来。本次实验能够帮助大家学习更多的keras构建,更加熟练地搭建或者复现自己想要搭建的神经网络。代码Identity Blo...
2020-05-04 14:26:18 1654
原创 深度学习笔记(24):第四课第二周第一次作业
前言本次作业讲了一些keras的基本用法,允许搭建自由度很高的CNN。代码(参数是参考的)Keras非常适合快速制作原型,你可以在很短的时间内,建立一个能够获得出色结果的模型。这是Keras中的模型构建示例:def model(input_shape): # Define the input placeholder as a tensor with shape input_sh...
2020-05-03 23:53:42 278
原创 深度学习笔记(23):第四课第一周第二次作业
前言在这次实验,我们使用tensorflow搭建了一个前人实践出来的CNN模型,参考了一下他们的各种超参数的设置和Conv的位置等。然后将代码实现出来。总体来说还是不难的。TensorFlow新学习的代码条tf.nn.conv2d(X,W1, strides = [1,s,s,1], padding = 'SAME')给定输入XXX和一组滤波器W1W1W1,函数将使用W1W1W1的滤波器...
2020-05-03 14:13:04 363
原创 软件构造心得(12):关于JFrame、动态显示、与交互界面制作的入门级心得
前言GUI虽然不是我们软件构造课程的核心思想所在,但是却往往是一个软件设计者外在而直接的品味。当然抛开这些不谈,初次接触GUI如我,因为毫无基础,面对网上鱼龙混杂的说法真的尝试而且崩溃了好久,多亏陶神佬相助为我仙人指路,让我得以系统性的接触并且学习了相关的知识。这里逐步整理一下我的心得。因为内容较多,可能需要多更新几回…JFrame是什么通过阅读书籍,发现JFrame和swing的历史是一个...
2020-05-03 13:50:47 701
原创 深度学习笔记(22):第四课第一周第一次作业
前言本次作业练习了卷积神经网络的一些基本操作,比如padding,卷积(convolution),还有池化(pooling),以及额外拓展了一下卷积神经网络的反向传播。其中,多个数据和多个频道使得维数还是蛮多的比较容易混乱,我们应当注意;另外就是对应关系不想清楚的话是有一点乱套的,我们需要把握好input和output之间下标的对应以及映射的对应,代码就会比较好写了。即:卷积的输出维度与输入...
2020-05-01 15:38:40 263
原创 深度学习笔记(21):结构化机器学习项目的一般策略总结(3)
手工分析的必要性:误差分析比如我们在分类猫模型中,得到了error是10%。我们去查看了判断错误的测试集,尝试去优化,使得模型更加准确。我们发现,模型将一些长得像猫的狗的照片分类出来了。那么问题就来了,我们应不应该为此专门地去设计一下狗的分类器进而优化呢。这里面我们就要考虑到,这个问题到底会不会显著影响到我们的准确度,考虑到新建一个分类器在实际过程中可能要耗时数天或者数月。我们应该先去做的...
2020-04-25 15:10:49 278
原创 深度学习笔记(20):结构化机器学习项目的一般策略总结(2)
为什么是人的表现为什么我们要把人的指标(准确度等)作为机器学习准确度的标准,是因为:一方面,在很多领域,人的识别度是可以近似于贝叶斯误差的,也就是所谓的误差的最小值。所以我们实际上的bias判断也并不是基于在train上的错误率和0做差,而是和人的标准做差,评判到底是否合理。另一方面,在机器学习达到人的级别之前的学习是很快的。在这之前我们可以用很多的手段使得机器学习快速达到人的水平,比如喂给...
2020-04-24 18:35:05 170
原创 深度学习笔记(19):结构化机器学习项目的一般策略总结(1)
调优很多时候,我们的系统在搭建出来之后并不是最优的,我们需要去优化,可能会有很多想法,我们可以调整的地方也很多:比如我们增加训练的数据,使用正则化方法,使用更加大的神经网络,调整学习率,改善优化策略等。但是其实这些方法的采取是需要我们去做出一些基于结果的大致的宏观的判断的,我们需要一些基本的策略和原则,去知道我们应该在哪些部位作出修改,进而保证我们的机器学习在向着最有希望的方向前进,而不是在无用...
2020-04-24 17:03:21 234
原创 深度学习笔记(18):第二课第三周作业
使用TensorFlow框架搭建神经网络的一般过程Create a graph containing Tensors (Variables, Placeholders …) and Operations (tf.matmul, tf.add, …)(创建张量计算图,一些variables,placeholders,constant…)Create a session(创建一个session)...
2020-04-19 23:30:23 315
原创 深度学习笔记(17):Batch Norm简介
剖析与心得我们已经发现了在初始化的时候将输入数据归一化会得到更快的梯度下降速度与效果。那么其实很容易就会想到,如果我们能在神经网络的每一个隐藏层中都控制这些数值的分布,也许效果会不错。那么Batch norm就诞生了。实现过程只需要四步:1)求出来每一行的zzz均值μ\muμ2)求出来每一行的方差σ\sigmaσ23)得到归一化的zzznorm ,此时的均值为0,方差为1(前三步也就是...
2020-04-19 21:15:10 2213
原创 深度学习笔记(16):第二课第二周作业
剖析与总结这次实验使用了四种下降的方式:GD、mini-batch GD、Momentum,Adam稍微总结一下就是,GD可以保证每次都下降代价函数,但是每次迭代需要走完所有训练集,速度较慢;而随机梯度下降,相当于每次饲喂训练集进行优化,而这并不能保证对于所有训练集都在优化,所以比较曲曲折折,大差不差;mini-batch介于二者之间。那么,怎么样又要获得mini-batch的高速度,又要让...
2020-04-18 23:54:48 382
原创 深度学习笔记(15):第二课第一周第三次作业
剖析与心得在本次实验中,我们使用梯度检验方法,将输入的参数稍稍改变一点,因为我们有很大把握使得最后的损失值是对的,所以,我们直接用损失值的变化量除以自变量的改变量,得到的就是导数值的近似值,在一定误差允许范围内,如果其和我们使用梯度下降求出来的值相近,那么说明,我们梯度下降的算法的书写没有问题;否则则说明有问题。本次实验中,写了两部分代码:第一部分是针对简单的单元变量进行检验,热身;第二部...
2020-04-18 17:03:27 290
原创 深度学习笔记(14):第二课第一周第二次作业
剖析与心得这一部分也比较简单啦。主要是练习实践一下正则化的两个手段:L2正则化和dropoutdropoutdropout方法。先码一下知识点:1,L2正则化是在代价函数的尾部追加所有权重矩阵的F范数再乘以 λ2m\frac {\lambda}{2m}2mλ.在反向传播的时候求导结果是在dwdwdw[i]后面追加了一个λm∗w\frac {\lambda}{m}*wmλ∗w[i](也就是...
2020-04-18 11:00:45 246
原创 深度学习笔记(13):第二课第一周第一次作业
剖析与心得(代码很简单啦这次我们来探究初始化对于模型收敛速度与准确度的影响。我们主要从以下三种情况来进行这次的作业实验:1,全部初始化为零,我们将看到很差的成果 2,初始化为数值较大的矩阵,我们将看到收敛速度较慢,拟合效果一般的情况。 3,使用He方法,让初始矩阵适中大小。收敛效果好。数据初始化为零的结果性能确实很差,损失也没有真正降低,该算法的性能甚至不如随机猜测。为什么呢?让我们看...
2020-04-18 00:07:37 176
原创 深度学习笔记(12):为什么不能将神经网络的初始权值设置成全0值
前言快一周没写博客了,遗忘的真主快要降临了吧,我也得做些什么了。今天重温了一下神经网络的细节,本篇文章主要从初始化的权重矩阵www和bbb进行探讨,讨论分析一下为什么不能设置成全0.希望以后不会忘记这一块哈。(我承认因为资料已经很多了,我写这些对大家也不一定有很大的益处…渡己难奥。最起码算是自己能加深记忆吧)对于logstic函数为什么权重矩阵可以初始化为0对于logistic回归函数,我...
2020-04-17 23:03:53 881
原创 软件构造心得(11):里氏替换原则(Liskov Substitution Principle)保持行为一致的动机与目的
我们逐渐对于软件构造有了更深的要求。设计良好的代码需要做到可以不通过修改而扩展,新的功能通过添加新的代码来实现,而不需要更改已有的可工作的代码。抽象(Abstraction)和多态(Polymorphism)是实现这一原则的主要机制,而继承(Inheritance)则是实现抽象和多态的主要方法。而提高这一质量指标,打下构建可维护性和可重用性代码的基础,我们首先需要知道一个重要的原则。本文参考...
2020-04-13 22:07:25 395
原创 深度学习笔记(11):第一课第四周作业第二部分
继续撸猫!!Accuracy: 1.0y = 1.0, your L-layer model predicts a “cat” picture.任务我们之前已经试过用logistic回归模型对于猫进行预测,这次,我们使用单隐层神经网络和L层神经网络对其进行更进一步预测,看看效果有何变化。首先还是导入各种包加载各种东西加载看一下,我们的标记数据再查看一下我们的训练集测试集,图片规模...
2020-04-13 12:42:58 1111
原创 深度学习笔记(10):第一课第四周作业第一部分
任务实现深层神经网络的构建。实现前向反向传播的编程。2 作业大纲为了构建你的神经网络,你将实现几个“辅助函数”。这些辅助函数将在下一个作业中使用,用来构建一个两层神经网络和一个L层的神经网络。你将实现的每个函数都有详细的说明,这些说明将指导你完成必要的步骤。此作业的大纲如下:初始化两层的网络和LLL层的神经网络的参数。实现正向传播模块(在下图中以紫色显示)。完成模型正向传播步骤的L...
2020-04-13 11:47:43 286
原创 深度学习笔记(9):第一课第三周作业讲解与代码
用含有一个隐含层的神经网络分析二维数据本次任务,我们要建立一个浅层的神经网络,具体实现一下正向传播,反向传播,梯度下降,和模型预测可视化的实践过程。首先查清楚一共有多少个训练实例我们要通过获取变量的维度来得到各个数据。代码如下:### START CODE HERE ### (≈ 3 lines of code)shape_X = X.shapeshape_Y = Y.shapem ...
2020-04-12 19:56:18 582
原创 深度学习笔记(8):一文讲透神经网络的反向传播,要点介绍与公式推导
神经网络的反向传播是什么神经网络的反向传播,实际上就是逐层计算梯度下降所需要的www向量的“变化量”(代价函数J(w1,b1,w2,b2,w3,b3...wn,bn)J(w1,b1,w2,b2,w3,b3...wn,bn)J(w1,b1,w2,b2,w3,b3...wn,bn)对于w,bw,bw,b向量各个分量(w1,w2,w3,w4…)(b1,b2,b3…)的微分)。以便进行梯度下降算法更新参...
2020-04-12 00:49:30 678
KATARA-paper.pdf
2020-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人