一直以为这样的情况不会出现,但它还是出现了:一段 Java 代码+引用 Jar 包,一段 Python 代码要使用 Java 代码中某个方法。本来想用 Python 重新实现一遍,又觉得这简直是浪费时间,何不直接在 Python 代码中使用 Java 代码的该方法呢?应该特别简单,分分钟搞定的事情,结果还是掉坑里了,特此记录,以备后查。
对NLP预训练模型的思考
最近连续读了两篇关于 BERT 学习机理的文章,略有所感,记录如下。
预训练模型本质是利用输入数据本身内在的结构进行学习,从自然语言处理的角度看,就是充分利用自然语言文本的上下文去学习到文本的表征。
Jupyter Notebook Cheat Sheet
Jupyter Notebook 的相关备忘。
Few-Shot NER and BERT Noisy Learning:ProtoBERT Paper Note
Paper:2105.00828 BERT memorisation and pitfalls in low-resource scenarios
Code:无
核心思想:结合原型网络,将少样本的标签表征为稠密向量。
Rust str 转 String
在 Rust 中,str
是引用,String
是字符串对象,如下所示,点击执行:
1 | // 代码来自 https://github.com/rust-lang/rustlings |
深度探索 Bert:BERTology Paper Note
Paper:[2002.12327] A Primer in BERTology: What we know about how BERT works
核心:全方位研究 BERT 到底学到了什么,怎么学的,效果如何,怎么改善。
AI 工程师养成记(上)
一转眼转行已四年时间,这是转行以来第一次写关于个人对转行后感想心得的文章。一方面是因为所跨行业过大,行业内也有很多细分领域,要进一步明确方向需要不断试探。事实上,这几年基本能碰的都折腾过了,总算逐渐坚定;另一方面也是感觉一直没有从维度上得到提升,多个领域始终处于不得要领阶段,走了非常多的弯路。这次感受源于与一位资深算法工程师的沟通,又经几篇关于算法工程师工作日常和修养的好文,再加上这些年的积累,认真反思了几日,终于感觉到自己有了质的突破。虽然技能并没有多掌握,但确实比之前强大了不少(虽然依然很弱),有点像炼气期满筑基,奋斗之路刚刚开始,是有此文。
SqueezeBERT 论文笔记
从 Sentence-BERT 谈句子表征
在之前那篇 NLP 表征的历史与未来 | Yam 里,我们几乎从头到尾都在提及句子表征,也提出过一个很重要的概念:“句子” 才是语义理解的最小单位。不过当时并没有太过深入细节,直到做到文本相似度任务时才发现早已经有人将其 BERT 化了。这就是本文要提到的一篇很重要但又很顺其自然的一篇论文——Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks。其实说到相似度,大家多少都会想到大名鼎鼎的 Siamese Recurrent Networks,他们当时(2016 年)用的是 LSTM 对句子表征,那是因为那时候 LSTM 效果是最好的。Sentence-BERT 其实就是将 LSTM 替换为 BERT。
Bert-Flow 论文笔记
Paper:[2011.05864] On the Sentence Embeddings from Pre-trained Language Models
核心思想:无监督方法将 Bert 产生的非平滑各向异性的句子语义空间分布转换为各向同性的高斯分布。