![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DL
ssswill
这个作者很懒,什么都没留下…
展开
-
tensorflow.keras篇
https://blog.csdn.net/qq_20989105/article/details/82760815原创 2019-03-01 20:26:56 · 239 阅读 · 0 评论 -
利用CNN来做NLP(textcnn)
讲到nlp,我们常用的都是lstm/gru。举个例子,因为我们总会说,因为句子经过embdding后,句子为一个三维张量,假设为:(None,20,300)。其中20为timestep,也就是一个句子的单词个数,300为embdding维度。为了更深的理解句子,剖析句子语意,我们假设接上一层lstm(num_units=128,return_sequence=True),那么输出的张量就为(No...原创 2019-06-24 14:33:18 · 1867 阅读 · 1 评论 -
如何使用glove,fasttext等词库进行word embedding?(原理篇)
0 序本文保证干货满满~看完本文后,你只需要一个glove或者其他已经训练好的词库,也就是一个类似txt的文件,那么你就可以把一个英文单词用一个多维(如300维向量)表示出来!并且会带入到keras中训练一条龙服务~说专业点,这就是词嵌入。在之前 ,我们使用过keras自带的embedding层进行词嵌入,效果肯定是没有glove这些好的。keras自带的词嵌入使用如下:model = S...原创 2019-05-07 21:27:29 · 5665 阅读 · 6 评论 -
神经网络高阶技巧5--关于GolbalAveragePooling与GlobalMaxPooling
最大池化(Maxpooling1D),平均池化(AveragePooling1D)是我们常见且常用的,它们的另一个版本就是加一个global了。很简单:截图来自:https://blog.csdn.net/JNingWei/article/details/80064451下面以GlobalMaxPooling与传统maxpool对比为例:参见:https://blog.csdn.net...原创 2019-05-10 14:12:08 · 2337 阅读 · 1 评论 -
神经网络高阶技巧4--关于SpatialDropout1D
参见:https://blog.csdn.net/weixin_43896398/article/details/84762943但是这里有一个疑问。文中提到了noise_shape,但是在官方文档,以及keras.layers.SpatialDropout1D()的函数说明里貌似也没有,或者说它的默认值里哪个轴为1呢?我们在jupyter lab中输入??SpatialDropout1D...原创 2019-05-10 11:14:37 · 3386 阅读 · 0 评论 -
关于keras.backend.clear_session()
顾名思义,clear_session就是清除一个session。而session就是tensorflow中我们常见的会话。来自:https://stackoverflow.com/questions/50895110/what-do-i-need-k-clear-session-and-del-model-for-keras-with-tensorflow-gpu简单说一下。很常见的场景就...原创 2019-05-14 17:30:39 · 17787 阅读 · 5 评论 -
神经网络高阶技巧7--早停(early stopping)与保存最佳模型
早停法这个词,其实我们并不陌生。因为在传统的机器学习中,我们就用到过。例如在一个xgboost,或者lightgbm模型中,为了防止过拟合,我们就会用:clf = lgb.train(params=param,train_set=trn_data,num_boost_round=50000,valid_sets=val_data,verbose_eval=1000,early_stopping...原创 2019-05-14 17:17:08 · 17539 阅读 · 2 评论 -
神经网络高阶技巧6--关于keras的class_weight与sample_weight
1.二者初步介绍在keras的中文官方文档中,写到:可以结合着一起看,出自:https://stackoverflow.com/questions/48315094/using-sample-weight-in-keras-for-sequence-labelling2.注意事项sample_weight会覆盖class_weight,所以二者用其一。3.几种使用class_wei...原创 2019-05-14 11:51:30 · 9514 阅读 · 4 评论 -
神经网络高阶技巧3--对层操作之add与concatenate以及keras的summary中[0][0]的解释
本文标题较长,主要内容分为两部分。一是说明对层操作的add与concatenate方法的原理与应用。二是,在keras使用了这两个方法后,在model.summary中会出现[0][0]的层,在此作出解释。一。关于add与concatenate方法建议直接参见:https://blog.csdn.net/u012193416/article/details/79479935别人写过一遍...原创 2019-05-06 20:56:48 · 1660 阅读 · 1 评论 -
神经网络高阶技巧2--采用CuDNNLSTM,别再用LSTM了!
以后别再说自己用LSTM()了!CuDNNLSTM与LSTM都是keras.layers里的实现lstm的单元。那么二者有什么区别呢?CuDNNLSTM肯定是只能用在GPU下,但是LSTM也是可以用在GPU下的啊。所以问题是:在你拥有GPU资源的情况下(默认拥有),我应该选用哪一种呢?答案是CuDNNLSTM!1.原因:In my case, training a model with ...原创 2019-05-06 19:16:16 · 17527 阅读 · 5 评论 -
神经网络高阶技巧1--Learning Rate Scheduler
为什么突发奇想要写这么个系列呢?源于一次面试,其实很多“高阶”技巧我们都知道,但是用的多了我们习以为常,所以在面试介绍项目时不会提及这些。而你不提及的话,就会显得你很low。所以做一些笔记,让自己知道这些“高阶”技巧。标题顾名思义,就是自适应的学习率。因为我们都知道刚开始训练时,学习率可以大一点,但到后面需要慢慢减小,以防出现下图的情况。那么如何在训练时使用这种方法呢?以keras为例。...原创 2019-05-06 16:45:24 · 9141 阅读 · 7 评论 -
Jigsaw Unintended Bias in Toxicity Classification竞赛bilstm+glove embedding解法
0.写在前面0.1本文配套github:https://github.com/willinseu/kaggle-Jigsaw-Unintended-Bias-in-Toxicity-Classification-solution如果你觉得本文对你有帮助,或者有提高,请点一个star以表支持,感谢~同时与上一篇博文的github项目是对接的:https://github.com/willi...原创 2019-05-13 19:52:59 · 2768 阅读 · 1 评论 -
用lstm实现nlp情感分析(roman urdu小语种为例)代码+原理详解
1 赛题描述link: https://www.kesci.com/home/competition/5c77ab9c1ce0af002b55af86/content/1本练习赛所用数据,是名为「Roman Urdu DataSet」的公开数据集。这些数据,均为文本数据。原始数据的文本,对应三类情感标签:Positive, Negative, Netural。本练习赛,移除了标签为Netu...原创 2019-03-13 15:28:57 · 15063 阅读 · 9 评论 -
lstm输出输出和参数你懂了吗
最近在做一个nlp的练习赛,把lstm重新彻底温习了一遍。把以前很多没搞懂的东西重新倒腾了一遍,收获真的很多,但是由于知识点较多,所以写一篇博客来记录。本文绝多数图片及内容参考自:https://www.zhihu.com/question/41949741但是本文不会讲一下很基础的东西,只会讲一些很扰人的东西。1.lstm初探相信你第一次学习lstm的时候,一定也是百度lstm,开始看博...原创 2019-03-12 21:33:06 · 32856 阅读 · 15 评论 -
深究embedding层
关于embedding层,贴出一些很好的链接,以供备忘与分享。http://blog.sina.com.cn/s/blog_1450ac3c60102x79x.htmlhttps://blog.csdn.net/sjyttkl/article/details/80324656https://blog.csdn.net/jiangpeng59/article/details/77533309...原创 2019-03-07 20:37:21 · 1253 阅读 · 0 评论 -
keras——layers篇:Dense, Embedding, LSTM
rom keras.models import Sequentialfrom keras.layers import Dense, Embedding, LSTMembed_dim = 128lstm_out = 196batch_size = 32model = Sequential()model.add(Embedding(2000, embed_dim,input_length ...原创 2019-03-07 15:48:21 · 26623 阅读 · 2 评论 -
tfidf+embedding
转自:https://blog.csdn.net/pnnngchg/article/details/86500648我们知道,tfidf和embedding都是将文本表示成包含文本信息的高维向量的方法。tfidf关注的是单词在文档中的频率,最终计算出的向量包含的信息是一种单词出现频率的tradeoff。而embedding则关注的是单词的语义。两者包含的信息不同,因此将两者结合起来表示文本是对文...转载 2019-03-08 22:08:29 · 1746 阅读 · 0 评论 -
keras用auc做metrics以及早停
import tensorflow as tffrom sklearn.metrics import roc_auc_scoredef auroc(y_true, y_pred): return tf.py_func(roc_auc_score, (y_true, y_pred), tf.double)# Build Model...model.compile(loss='c...原创 2019-07-11 20:16:10 · 7405 阅读 · 2 评论