美文网首页嵌牛IT观察
人工智能学习笔记

人工智能学习笔记

作者: 刘璇光 | 来源:发表于2018-11-06 19:47 被阅读0次

      姓名:刘璇光  学号:15020150039

      转载自: https://zhuanlan.zhihu.com/p/34734090   ,有删节

    【嵌牛导读】:记录NLP工作中,学习调研过程中学到的思想,遇到的问题。

    【嵌牛鼻子】:自然语言处理   图计算   人工智能

    【嵌牛提问】关于人工智能有什么好的学习方法?

    【嵌牛正文】:

    记录NLP工作中,学习调研过程中学到的思想,遇到的问题。

    由于我对声学、音乐的兴趣很大,所以目前搞NLP方面的研发,除了积累知识经验以外,也是为了以后在其他领域的知识迁移,所以把标题定为“人工智能”而不是“自然语言处理”。

    我曾经把自己的签名档改成“转行中:CS->音乐”,虽然我目前失败了,但我没忘自己立过的flag。

    目前的工作方式,就是不断往返于Xshell、Google、Wikipedia、Stack Overflow之间,不停地学了忘忘了学。

    不定期更新,碰见比较新奇的思路或者值得记录的方法学就写上来。

    我花了三个月刷LeetCode,花了一年刷Coursera,然后我找到AI行业算法岗的工作了。所以用实际行动证明,转行搞AI这条路是可行的。

    前提是你得把大一的数学课学扎实,自学能力要强,愿意长时间坐电脑前面敲敲敲。

    至于“转行”二字到底怎么定义,你把度量空间理解了,就行了。

    为了避免乱忽悠人转行的嫌疑,我把“小马过河”的意思解释一下:跟我同年毕业的某本科同学,现在是MIT CSAIL的科学家;跟我同年毕业的某本科同学,现在是某准独角兽公司的CXO;跟我同年毕业的某本科同学,刚毕业就年薪百万了。遗憾的是,以上说的还tm都是真的。我呢,目前是基层的打工仔。看见了吧,这就叫小马过河。

    你们计算机行业,洋文好的人多得很呐。

    有人说现在属于CV,未来属于NLP,实际上不是要谁跟谁分个高下。这句话的关键在于,CV由于数据的维度是二维、三维、四维,当下的计算力远远不够用,所以目前只能做感知性的工作,因此很多识别、标注、实时监测类的任务已经有产品落地了,这叫“现在属于CV”。NLP由于其一维的数据特征,所以感知层面已经做的不错,人类已经在理解层面进行探索了。比如词法、句法较为简单,语义分析就很难。词、句、段、文、文集、知识库,词法句法的难度扩展很有限,语义分析的难度扩展空间却极大。因此未来很长时间这都会是一个热点和难题,这叫“未来属于NLP”。至于要在CV层面做到理解,那更是未来的未来了。

    以模块化设计的思路,大脑是中心,听觉、视觉作为感官来处理输入,大脑中的对应部位负责处理信息,然后给存起来。实际上脑科学是在大脑结构未知的情况下用技术进行摸索。计算机科学则是在对人脑的大致理解下进行理论研究、工程实践,一步步把各个领域的研究成果组装成一个大脑。个人觉得最后会殊途同归,但路还很远很远。仅仅是胡说和瞎想罢了。

    我希望未来有机会把调式、曲式分析给学学,然后做音乐方面的AI研究。结合neural style transfer的思路,AI辅助作曲一定可以普及。

    one-hot、word embedding、RGB,有没有发现共性?把各种非数值的东西,转成数值;把各种离散的东西变成连续。

    SOLID五原则,单一职责、开放封闭、里氏代换、接口分离、依赖倒置。那么这跟深度学习有关系吗?没有。真没有吗?真没有。我只是想说,这个破AI行业,一年生产的吊炸天新概念,比尼玛计算机系统领域二十年都多。像我这样脑子慢的人,有时免不了要强行记忆。辛亏我是文科生的脑子,记性好。

    编译原理没学好的话,搞NLP时你会主动回去补课的。(惨)

    sparse coding和autoencoder有什么差别?手法相似,目的不同。

    sparse coding和PCA有什么差别?目的相似,手法不同。

    PCA和t-SNE有什么差别?一个线性,一个非线性。

    失败人士如何避免去北极冰窟窿独自哭泣?学好微积分、线性代数、概率论,多听相声和英语,然后用英语说相声。

    失败人士为什么不能同步自杀?因为拜占庭将军问题尚未解决。

    你花半个月训练一个迷之深度神经网络语言模型,然后广电总局来个领导跟你说“你这个语料库不清真啊,给你三天,把所有XXX从模型里去掉”。你稳如狗,只花了半天就搞定了:把老模型扔掉,写个年轻贝叶斯,搞定。

    想从黑箱里删东西?你去黑洞里捞条鱼出来试试?不存在的。

    一方面人们在想法把各种结构化数据转成向量、矩阵、高维数组,另一方面人们在想法改进CPU、GPU、TPU、ASIC架构以支持更复杂的结构化的输入输出。

    模型可叠加,就叠加模型;模型不可叠加,就叠加结果;结果还不可叠加,就投票。

    一个梯度下降,就有batch、mini-batch、stochastic、natural、functional、conjugate这么多种类。所以不要背算法,要理解设计思路。

    为什么CNN越往后越能识别复杂的特征?因为receptive field逐步扩大,field很小时,只能识别猫耳朵、猫尾巴,field足够大时就把猫给装进去了。

    CFG(上下文无关文法)是编译原理的基础知识,处理自然文本当然不行,但作为基础工具还是随处可见的。

    谓词逻辑以动词为中心,主语、宾语都作为谓语的参数。就好像“shutdown -r -t 00”一样,shutdown动作是中心,其他的都围绕它。至于为什么以动词为中心,我想一个句子如果没有动词,要么是极短的特例比如“哦”,要么就不成其为句子,只能算短语。而一个句子即使没有主语,没有宾语,也能算是句子。

    先生你好,PropBank、FrameNet了解一下。

    既然word embedding可行,那么word sense embedding也可行。

    从二到多、从单步到迭代、从组合到时序、从单层到多层、从线到树、从树到图,好像学过的大多数算法、模型都离不开这些思维。

    对稀疏特征进行降维表示,既为了保证tractability,也为了对付curse of dimensionality。

    分类器和交叉熵,真是一招鲜吃遍天。

    量纲都不一样,怎么加起来?自从接触这行,量纲就不存在了。你想想线性回归吧?

    学界在面向paper科研,面向benchmark编程。业界在面向capital创业,面向salary编程。

    每一个吊炸天的人工智能广告背后,都有一帮苦逼程序员昨天刚写上线的模型,带着一千个if-else判断、一百个try-catch在空中飞扬、十个人不到的研发团队,汇聚成一个即将颠覆世界的半成品。也没准谁家的人工智能翻译机的背后,坐着几个同声传译,给您展示人工的智能。所以不可不信,不可全信。

    特征的复合有两种最简单粗暴的方法,并列和加权平均。

    看一堆Deep NLP的论文之后,再回头看看和神经网络完全无关的基于PGM的方案,有一种春风拂面的感觉:我终于知道这帮人在干嘛了。即使牺牲几个点的百分点的F1,我也宁可用自己能看懂,能分析误差,能用Python、C++写出来的模型。

    系统设计三个关键词:topology、hierarchy、pipeline。

    Coursera上我最后悔错过的一门课,就是自动机理论。以后一定要系统学一遍,其乐无穷。

    相比于逐词逐句对语料库进行标注,然后进行纯的监督学习,在人力上更高效的方案往往能够利用WordNet、PropBank之类的词典式数据集,配合没有标注的文本类语料库进行“半监督学习”。哪怕效果不如全监督学习,这样在体力劳动上的提升还是很可观的。

    今日听闻2018年AI方向PhD的申请状况异常惨烈,说明市场已经开始自我调节了。散户们,要学会差异化投资,规避风险。

    如果大脑的奥秘被破解了,那特征工程可能会从一门纯实验科学变成理论实践相结合的正常科学。

    之前觉得头条、快手、激萌这些东西有什么意思,不就是各种娱乐各种玩吗?后来我明白,自己还是too simple。这些app存在的目的就好比大数据钻井平台。你需要海量的数据来验证各种谜之模型,你需要写出这种贴合最广大群众兴趣点的应用,这样他们才会主动为你生产数据。toB和toC市场的差别就在这儿。你想要大客户给你数据,你掏钱买;你想要终端用户给你数据,让他们自己生产就行了。

    当然我还是不喜欢头条,跟技术实力无关,跟他们的价值取向、做事手段有关。

    那么模型验证了有什么用了?联系广告商啊,可以开始滋滋滋收钱了。用户们继续着自己的蛇精自拍、社会摇,你只用关心现在的广告收入、周边收入如何,顺便给程序员喝口汤。这应该就是AI行业某些“看似没什么”的企业那么土豪的原因,不是赢在技术和远见上,而是懂得满足群众的文化生活需求。

    数据量够小的话,手工标注;数据够可分的话,无监督聚类;数据量够大时,可以先手工标注小样本,然后以此为种子,用无监督聚类的方法进行“自动标注”。有数据标注众包平台的话,考虑花钱雇人标注。以上方法都不可行的话,我选择狗带。

    在对比了词法、句法、文法、语义、情感、意图等方面的论文后,我发现大家对神经网络的态度基本处于“手里拿个锤子,看啥都像钉子”的阶段。到了意图识别这个层面,由于问题定义不清晰、数据集缺乏、跨语言跨文化性较差,已经没多少人乱堆神经网络了。更准确地说,已经没多少人研究了。词法句法方面的神经网络论文简直不要太花哨,尼玛视觉盛宴啊。

    表示、学习、推理,或者说建模、训练、预测,是机器学习要干的三件事。

    语义角色标注、指代消歧、倒装句、从句、成分省略每一个都是NLP的难题。比如“啥玩意儿啊这是?”“你谁啊?”“弄啥咧?”“你信不信我分分钟消失?”“你让我找他给我签字然后交给你?”短句子都可以让NLP模型理解错;长句子,更是束手无策。现阶段,一个二十字以上的句子,恐怕也只有分词的效果还过得去。

    自然语言处理是大坑,知识图谱是天坑。

    什么叫名词当党?N>1时贪婪就不叫贪婪了,叫beam search;logistic regression就不叫LR了,叫最大熵模型。不懂的时候各种高大上,见多了就稳如狗。

    我发现金融从业者的记性都不是一般的好,基本上走两步就要甩个概念,然后往Investopedia里一放,好家伙,说去来倍儿有面子。你就搞不懂,就那么个线性模型,咋就能发明出二三十个概念、术语,把人唬得一愣一愣的。作为AI从业者啊,还是要学习一个。你说说“collaterized debt obligation”和“bespoke tranche opportunity”各是什么鬼?最为鬼畜的是,这俩是一个鬼。

    Autoencoder的“auto”是autonomous,不是automated。学了encoder-decoder network我才明白这个“auto”的意思是“自”,因为输入和输出都是自己。相比之下,比如机器翻译的输入是语言A,输出是语言B。

    相关文章

      网友评论

        本文标题:人工智能学习笔记

        本文链接:https://www.haomeiwen.com/subject/fdhpxqtx.html