2018年5月10日星期四

今秋开课!卡内基梅隆大学将开设美国首个人工智能本科学位


CMU人工智能本科培养计划的教学将在今年秋天正式开课。

卡内基梅隆大学计算机系将于今年秋天开设人工智能本科专业,为学生提供更多知识,了解如何将大量数据转换成可执行的决策。

SCS 设立了美国大学第一个 AI 专业,这一举措是对 AI 领域非凡技术突破和学生、雇主对 AI 人才日益增长的需求的回应,旨在为 AI 领域培养人才。

「人工领域专家从未如此重要过,而且非常短缺,需求量很大。」计算机系主任 Andrew Moore 称,「卡内基梅隆大学在 AI 领域的专业知识非常深厚,这使得我们有资格解决这一需求,培养毕业生利用 AI 技术帮助人们。」

今春,U.S. News & World Report 将 SCS 列为人工智能的 No. 1 研究院。卡耐基梅隆大学也在最近的计算机科学顶级学校排名(CSRankings)上名列全球第一(参见:2018 全球大学计算机科学与人工智能排名:CMU 排名第一)。

机器人学和计算机科学研究教授、人工智能学位项目负责人 Reid Simmons 说,计算机科学学士学位课程会教学生广泛思索如何完成多学科大型任务。他补充说,人工智能学士学位将更加关注复杂的输入(如视觉、语言和庞大的数据库)如何用于决策或提高人的能力。人工智能专业的学生将获得与其他计算机专业学生一样坚实的计算机科学和数学基础。此外,他们还将参与人工智能相关学科(如统计学和概率论、计算建模、机器学习和符号计算)的额外课程。

Simmons 称该课程也将着重强调道德和社会责任的重要性,包括使用 AI 技术实现社会利益(例如改善交通、健康医疗或教育)的独立研究机会。SCS 第一年接收的学生将在第二年进入他们的 AI 学位课程。因此,所有的学生将在第一年掌握核心的计算机科学能力素质和导论课程。这将使他们在确定专业的时候(无论是 AI、计算机科学还是计算生物学等)做出明智的选择。计算生物学已经在 2017 年秋季开设了本科学位。

目前,AI 专业的本科招生将只接收至多 100 个二年级、三年级以及四年级的学生,或每年接收 30-35 个新生(SCS 将招收 735 名本科生)。在 2018 年秋季,已经完成大量相关课程的有限数量的二年级和三年级的学生将能加入新的 AI 本科学位课程。

正如人工智能将机器学习、自然语言处理、计算机视觉、机器人学和人机交互等学科结合起来一样,人工智能项目中的教学将借助 SCS 机器学习系、语言技术研究所、机器人研究所、人机交互研究所的教学资源。

该学位将利用 CMU 在跨学科教学中的传统优势,特别是在探索人工智能伦理和社会影响方面的优势,让来自迪特里希人文及社会科学学院、汉斯学院及工程学院的教师参与其中。

CMU 在人工智能方面有着悠久的历史,1956 年创造了第一个人工智能计算机程序,在自动驾驶汽车、面部识别和自然语言处理方面做了开创性工作。去年,SCS 开始了其 CMU 人工智能研究和教育计划(CMU AI research and education initiative),该计划涉及近 200 名从事人工智能相关领域(从艺术到公共政策)的教师。

作为知名美国学府,CMU 也一直是教育界的领导者,它曾在 1958 年开设了第一个大学计算机编程培养计划,随后启动了第一个机器人学的博士培养计划,这所大学也开设了全球第一个机器学习系。「SCS 将再次通过 AI 学位的计划在计算机科学的教育上处于领先地位,」Simmons 表示,他已经在美国国家科学基金会计算机与信息科学与工程(CISE)机构担任项目总监两年半之久,目前也同时领导着美国国家机器人计划。

「这是我们塑造 AI 作为一项学科的机会,我们不会仅仅提供人工智能的相关课程,」Reids Simmons 说道。新的教学计划将采用和 CMU 其他计算机科学本科培养计划相同的学术严谨性进行授课。

「我们希望成为第一个提供 AI 本科学位的教育机构,」Simmons 表示。「人工智能已经近在眼前,我们不会落后于他人。」


来源:https://ift.tt/2G38O1g

]]> 原文: https://ift.tt/2G5f0FP
RSS Feed

机器知心

IFTTT

全新视频!这是自由奔跑、自主导航的波士顿动力机器人

这两段视频没有展示多少新鲜的东西,但让我们看到了这些机器人的活动是多么自然。在一段视频中,人形机器人 Atlas 在到处都是斜坡的草地上慢跑。它在一个点停下来,跳过一段木头。跳跃并不是它最优雅的动作,机器人能做到这一点也不奇怪,早在去年它就做过一次后空翻。

在另一个视频中,外形像狗的 SpotMini 机器人独自在办公室里跑来跑去,毫无费力地在楼梯上爬上爬下。波士顿动力公司表示,操作者最初必须引导机器人通过它所走的路线,这样它才能绘制出该区域的地图。但是这个视频中的机器人是利用这些知识自主运行,使用摄像头来避开障碍。

视频中最值得注意的一点可能是:看着这个奇怪的四足机器人四处走动显然是很平常的事,波士顿动力公司只是加快了速度。 

来源:https://ift.tt/2jORUL6

]]> 原文: https://ift.tt/2wxxlf9
RSS Feed

机器知心

IFTTT

GluonNLP — 自然语言处理的深度学习工具包

作者:查晟 Amazon Applied Scientist

最新模型的结果为何难以重现?去年项目的代码为何已经罢工?本该直截了当的基准模型为何如此难做?请看今天的走进科学之,自然语言处理那点事。

故事的主人公小 A 是个乐观开朗的炼丹师,正开始研究机器翻译。这天他看到时下最热门的一篇谷歌论文 "Attention Is All You Need" 介绍基于注意力机制的 Transformer 模型。小A上网搜了搜发现, TensorflowTensor2Tensor 包里已经有了这篇论文的实现。 身 (she) 经 (shi) 百 (wei) 战 (shen) 的小 A,于是决定立刻就拿这个包跑一下,想在当天下午重现一下这个最新的黑科技。

很快,小 A 发现这份官方提供的包和参数跑不出论文里的结果。老 (tian) 道 (zhen) 的炼丹师小A心想,简单换个几组参数再跑跑看应该就行了吧?

然而三天过去了……他占满了实验室所有 GPU,跑了很多组参数,以至于被实验室师兄投诉,却依然没有重现出论文结果。小 A 十分抓狂,难以理解自己哪里做错了,愤怒地跑上 Tensor2Tensor 的 Github 写 issue 报告问题。不久,有几个其他用户在他的 issue 上回复说遇到了一样的问题,但是也没有解决方案。

半个月过去了……终于,项目维护者出现了,回复说会看一下这个问题,然后便杳无音信。

三个月过去了……只有小 A 还在无助地问,"请问有进展了吗"……

在亚马逊云服务 AWS 做了一段时间深度学习和自然语言处理之后,我发现其实身边不乏这样的男默女泪的故事。自然语言处理的模型重现之所以难,与数据处理和模型搭建中需要解决的茫茫多技术点有很大关系:从各种语言的文本文件编码解码 (encoding/decoding),读取,分词 (tokenization),词向量转化 (embedding),到输入给神经网络前的填充位 (padding),截长 (clipping),再到神经网络模型里处理变长输入数据和状态,一直到模型预测解码后的输出的 BLEU score 等等表现评估方法,每处都会有坑。如果工具不到位,每次做新模型开发都要经历各种大坑小坑的洗礼。

有一次和 MXNet 其他几位 NLP 小伙伴们偶然聊起这些坑,大家都顿时表达出强烈的共鸣。明知山有虎,偏向虎山行,我拉上几位码力强劲的小伙伴,约定要搞一个能帮助大家轻松在 Gluon 中重现实验结果和开发模型的自然语言处理的工具包。于是说干就干,在 Xingjian Shi (@sxjscience), Chenguang Wang (@cgraywang), Leonard Lausen (@leezu),Aston Zhang (@astonzhang),Shuai Zheng (@szhengac),和我(@szha)一阵猛烈的键盘敲击之后,便有了GluonNLP

✘ 症状:自然语言处理论文难以重现。网上的重现代码质量没保证,维护者弃坑。

√ GluonNLP 处方:提供新的研究成果的重现。重现代码定期刷新,提供脚本,运行参数,log,保证不弃坑。

比不能重现结果更惨的,是曾经能重现。理论上代码虽然不会变质,但经验上大家都碰到过放坏了的老代码。其中很重要的原因之一是,底下的深度学习框架的接口会变。为了研究不同框架接口会变这一现象,我们使用了专家权威推荐的,十 (wan) 分 (quan) 有 (mei) 科学依据的统计量–"X API break"的搜索引擎结果条目数

X搜索结果数MXNet~17kTensorflow~81kKeras~844kPytorch~23kCaffe~110k

虽然 MXNet 已经很努力了,但是仍然有 17k 之多。为了保证不坑用户,我们此次做包,特意提高警觉度。我们把重现脚本的质量把控整合进我们的自动测试,目标是保证只要有坑,我们先踩,确保代码不过期。

✘ 症状:重现代码对 API 更改敏感,易过保质期。

√ GluonNLP 处方:对重现代码关键部分进行自动测试,遇到框架 API 更改立刻修,保证不过期。

去年做自然语言处理服务的项目的时候,我的硬盘上曾经有过5份长得都差不多的却又各不相同束搜索 (beam search) 的代码。其中的原因是,在做不同应用的时候经常都会用到这同一个模块,而在用这同一个模块的时候却因为一开始没有仔细思考接口,导致要做一点点微调。我的这 5 份代码,区别都仅仅在如何进行单步的打分上,然而每次都因为赶时间,所以没有花精力去搞一份各个应用都能用的代码。

要得到一个可重用易拓展的接口,通常需要花很多精力去研究各种用例,并且常需要几个开发者热烈讨论。我们在 GluonNLP中,不仅会试着重现已有的例子,更会在研究这些例子的基础上做出更易于开发和拓展的接口和工具,为未来新的研究铺路。

✘ 症状:为了赶项目时间,来不及设计接口,只能拷贝旧项目的模块再做微调。

√ GluonNLP 处方:GluonNLP 小分队组团研究各个项目中的用例,做易用易拓展的接口。

最近做新项目,发现一个新趋势是好的资源不集中。大家都知道预训练的词向量和语言模型对很多应用有帮助,而哪个预训练模型更有用则是需要实验来验证的。在做这些验证时,开发者常常需要装许多不同的工具。比如 GoogleWord2vec 需要装 gensim ,而 Salesforce 做的 AWD 语言模型是用 PyTorch 实现的,且暂不提供预训练模型, FacebookFasttext 则是自己开发的一个独立的包。为了能把这些资源凑齐在自己心爱的框架里使用,用户往往需要花费大量的精力在安装上。

对于一个社区来说,资源共享是最重要的功能之一。GluonNLP 中,我们不仅希望能为 NLP 爱好者提供一个社区,更希望能通过整合各个平台已有的资源来保证爱好者们能轻松获取这些资源,从而提高开发效率。

✘ 症状:NLP 资源分散,做一个项目要装十个包。

√ GluonNLP 处方:整合和共享有用的公开资源,提供一键下载预训练的词向量,语言模型,各个应用的公共的标杆数据集及预训练模型等。

给个代码看看

我们这里分别用 GluonNLP 载入 GloVe 词向量和预训练的语言模型中的词向量,用娃的两种写法(英文)来看哪个词向量在衡量相似性上更好。

import mxnet as mx import gluonnlp as nlp  # 载入GloVe词向量 glove = nlp.embedding.create('glove', source='glove.6B.50d') # 找到 'baby' 和 'infant' 的GloVe词向量 baby_glove, infant_glove = glove['baby'], glove['infant']  # 载入预训练AWD LSTM语言模型并获取其中词向量 lm_model, lm_vocab = nlp.model.get_model(name='awd_lstm_lm_1150',  dataset_name='wikitext-2',  pretrained=True) baby_idx, infant_idx = lm_vocab['baby', 'infant'] lm_embedding = lm_model.embedding[0] # 找到 'baby' 和 'infant' 在语言模型中的词向量 baby_lm, infant_lm = lm_embedding(mx.nd.array([baby_idx, infant_idx]))  # cos相似度 def cos_similarity(vec1, vec2):  return mx.nd.dot(vec1, vec2) / (vec1.norm() * vec2.norm())  print(cos_similarity(baby_glove, infant_glove)) # 0.74056691 print(cos_similarity(baby_lm, infant_lm)) # 0.3729561 

项目在哪里

最新的 GluonNLP 发布在 gluon-nlp.mxnet.io

我们会在接下来的版本里不断加入新的特性和模型。如果对哪些模型特别感兴趣,请戳文末链接给我们留言。

讨论请点这里



via gluon - 知乎专栏 https://ift.tt/2IdvSMG
RSS Feed

RSS8

IFTTT

范式大学| 普通程序员如何向人工智能靠拢?

相信看到这篇文章的朋友,几乎都想成为机器学习科学家。

事实上,绝大多数的付费课程,基本上都有完全免费的课程放在另一个地方。我们只是把这些信息整理好,告诉你在哪儿可以找到他们,以及通过什么样的顺序进行学习。

这样,哪怕你是还没毕业的大学生,或者是初入职场的工程师,都可以通过自学的方式掌握机器学习科学家的基础技能,并在论文、工作甚至日常生活中快速应用。

在这里我们推荐一份用户友好型的机器学习教程,你可以通过几个月的学习成为机器学习科学家,完全免费。

一份用户友好型的机器学习教程

当你学习机器学习课程时,有没有被信息过载所淹没?

大部分的学习者都遇到了这个问题,这不是他们的错,因为绝大多数的机器学习课程都过于关注个别算法了。 

没错,虽然算法很重要,但他们还是把太多时间花在了算法上。 

以至于......你几乎很难在短时间内走完一遍机器学习的流程,从而感受到通过它解决具体数据问题的巨大兴奋。

这些机器学习课程关注于算法是因为它容易教。相比之下,如果机器学习老师要带你走一遍机器学习的流程,那么他需要搭建计算环境,完成数据采集、清洗、拆分,特征处理,模型调参和模型预测,甚至他还需要一个面向学习者的交互界面。老师哪有这么多的工具,与其手把手带着学生走一遭,还不如学习机器学习算法。 

但这样的问题是,很难有人能坚持通过自学,成为一个卓越的机器学习科学家。哪怕他是数学博士,或者技术高超的程序员,都很容易陷在细节中而难以有具体项目实现的成就感。 

这份教程将会带来完全不同的思路。它非常适合自学者,即便完全没有编程的基础,也能通过恰当的工具快速实现机器学习模型,解决工作、生活中遇到的具体问题。

值得注意的是,我们享用了世界顶级的机器学习资源,而不需要花费 1 分钱。 

 自我学习的方法

我们推荐通过 Doing Shit(不是技术术语)完成你的学习。

在这之前你也许已经学习过机器学习了,但从我和朋友们的经验来看,往往会被各种神秘的符号、公式、大量的教科书和论文整的晕头转向,然后再也不想碰这恼人的玩意了。

我们的方法会更加友好,它的学习过程就像小朋友学习一样,你会了解一些基础的知识(但不一定要完全弄懂),然后通过好用的工具快速实现出来就好了。而当你被建模出来的结果吸引,那时候我们才谈算法背后的数学逻辑和计算逻辑。

所以我们会在学习中做很多机器学习项目,这样的好处是当你面对一个工作机会时,你就是一个经验丰富的机器学习科学家了!

当然自学本身是需要自律的,这本教程将一直陪伴着你,以下是 4 个步骤。

步骤一:前提条件

机器学习之所以看起来很吓人,是因为总伴随着那些晦涩难懂的术语。实际上,即便你是中文系毕业的,也可以学好机器学习。不过,我们需要你在一些领域有基础的理解。

好消息是,一旦你满足了前提条件,其余的将会非常容易。事实上,几乎所有的机器学习都是把统计学和计算机科学的概念应用于数据领域

任务:确保你了解基础的统计学、编程和数学 

统计学:理解统计学、特别是贝叶斯概率对许多机器学习算法来说都是至关重要的。 

免费的指南:How to Learn Statistics for Data Science, The Self-Starter Way 

https://elitedatascience.com/learn-statistics-for-data-science

编程:懂得编程将会更灵活的应用机器学习。 

免费的指南:How to Learn Python for Data Science, The Self-Starter Way 

https://elitedatascience.com/learn-python-for-data-science

数学:对原始算法的研究需要线性代数、多变量计算的基础。 

免费的指南:How to Learn Math for Data Science, The Self-Starter Way 

https://elitedatascience.com/learn-math-for-data-science

你可以先看看这些教程,给你的机器学习道路打下知识基础。

步骤二:海绵模式

海绵模式是尽可能吸收足够多的机器学习理论知识。 

现在有些人可能会想:"如果我不打算进行原创性研究,为什么在可以使用现有机器学习包的时候,还需要学习理论?" 

这是一个合理的问题!

然而,如果你想把机器学习更灵活的应用于日常工作,学习一些基础理论还是很有好处的,而且你并不需要完全弄懂。下面我们会剧透学习机器学习理论的 5 个理由。

好消息是,你不需要一开始就知道所有问题的答案。所以我们推荐你从学习足够的理论开始,然后快速进入到实践。这样的话,你比较能够坚持下来,并在一段时间后真正精通机器学习。

以下是一些免费的机器学习资料。

2.1 机器学习视频课程

这是来自哈佛大学和耶鲁大学的世界级课程。

任务:完成至少一门课程 

哈佛大学数据科学课程 

端到端的数据科学课程。相比吴恩达的课程,它对机器学习的重视程度较低,但是从数据收集到分析,你可以在这里学到整个数据科学的工作流程。 

课程主页:http://cs109.github.io/2015/

斯坦福大学机器学习课程 

这是吴恩达的著名课程,这些视频说清楚了机器学习背后的核心理念。如果你的时间只能上一节课,我们建议这个。 

课程主页:

https://www.youtube.com/watch?v=qeHZOdmJvFU&list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW&index=1

2.2 机器学习参考资料

接下来我们推荐行业中两本经典的教材。 

任务:看这些 PDF 作为教科书 

An Introduction to Statistical Learning 

Gentler 在书里介绍了统计学习的基本要素,适合所有机器学习的学习者。 

PDF 地址:http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf

Elements of Statistical Learning 

严格的介绍了机器学习理论和数学,推荐给机器学习的研究员。 

PDF 地址:http://statweb.stanford.edu/~tibs/ElemStatLearn/

2.3 成功的关键

以下是每个步骤成功的关键。 

A:注重大局,总是问为什么 

每当你被介绍一个新概念时,问一句"为什么"。为什么在某些情况下要使用决策树而不是回归?为什么要规范参数?为什么要拆分数据集?当你了解为什么使用每个工具时,你将成为真正的机器学习从业者。

B:接受你不会记得所有学过的东西 

不要疯狂的做笔记,也不要每个课程都复习 3 次。在自己的实际工作中,你会经常需要回过头查看。

C:继续前进,不要气馁 

尽量避免在一个话题上拖太久的时间。即便是对于机器学习教授来说,有些概念也很不好解释。但是当你在实践中开始应用时,你会很快就懂得概念的真实含义。

D:视频比教科书更有效 

从我们的经验来看,教科书是很好的参考工具,但它很难坚持。我们强烈推荐视频讲座的形式。 

步骤三:有目的实践

在海绵模式之后,我们会通过刻意练习的方式磨练技能,把机器学习能力提高到一个新水平。目标包括三个方面:

1.实践完整的机器学习流程:包括数据收集、清洗、预处理,建立模型,调整参数和模型评估。 

2.在真实的数据集中练习,逐渐建立哪种模型适合哪种挑战的直觉。

3.深入到一个具体主题中,例如在数据集中应用不同类型的聚类算法,看哪些效果最好。 

在完成这些步骤后,当你开始解决大型项目时就不会不知所措了。

3.1 机器学习工具

为了快速实现机器学习模型,我们推荐使用现成的建模工具。这样的话,你会在短时间内练习整个机器学习的工作流程,而无需在任何一个步骤花费太多时间。这会给你非常有价值的"大局直觉"(Big Picture Intuition)。

Python:Scikit-Learn 

Scikit-learn 和 Sklearn 是通用机器学习中 Python 的黄金标准库,它具有常规算法的实现。 

R:Caret 

Caret 为 R 语言中的模型包提供一个统一的界面。它还包括了预处理、数据拆分、模型评估的功能,使其成为一个完整的端到端解决方案。

3.2 实践数据集

学习了工具后,你还需要一些数据集。数据科学和机器学习的艺术,很多都在于解决问题时的几十个微观决定。我们会在不同的数据集中看到建模的结果。

任务:从以下选项中选择 5 到 10 个数据集。我们建议从 UCI 的机器学习库开始,例如你可以选择 3 个数据集,分别用于回归、分类和聚类。 

在进行机器学习工程的时候,想想以下问题:

  • 你需要为每个数据集执行哪些类型的预处理?

  • 你需要进行降维操作吗?你可以使用什么方法? 

  • 你可以如何拆分数据集? 

  • 你怎么知道模型是否出现"过拟合"? 

  • 你应该使用哪些类型的性能指标? 

  • 不同的参数调整会如何影响模型的结果? 

  • 你能够进行模型组合以得到更好的结果吗? 

  • 你的聚类结果和直观的相符么?

UCI 机器学习报告 

UCI 机器学习报告采集了超过 350 个不同的数据集,专门为机器学习提供训练数据。你可以按照任务搜索(回归、分类或聚类),也可以按照行业、数据集大小搜索。 

http://archive.ics.uci.edu/ml/

Kaggle 

Kaggle.com 以举办数据科学比赛闻名,但是该网站还拥有超过 180 个社区数据集,它们包含了有趣的话题,从用户宠物小精灵到欧洲足球比赛的数据应有尽有。 

https://www.kaggle.com/datasets

Data.gov 

如果你正在寻找社会科学或者与政府有关的数据集,请查看 Data.gov。这是美国政府开放数据集合,你可以搜索超过 190,000 个数据集。 

https://www.data.gov/

步骤四:完成机器学习项目

好了,现在到了真正有趣的部分了。到目前为止,我们已经涵盖了前提条件、基本理论和有目的实践。现在我们准备好进入更大的项目。 

这一步骤的目标是将机器学习技术整合到完整的、端到端的分析中。

4.1 完成一个机器学习项目

泰坦尼克号幸存者预测挑战是一个非常受欢迎的机器学习实践项目,事实上,这是 Kaggle.com 上最受欢迎的比赛。

我们喜欢以这个项目作为起点,因为它有很多伟大的教程。你可以从中了解到这些有经验的数据科学家们是怎么处理数据探索、特征工程和模型调参的。 

Python 教程 

我们真的非常喜欢这个教程,因为它教会你如何进行数据预处理和纠正数据。教程由 Pycon UK 提供。 

教程地址:https://github.com/savarin/pyconuk-introtutorial

R 教程

在 R 中使用 Caret 包来处理几个不同的模型。本教程很好总结了端到端的预测建模过程。 

教程地址:http://amunategui.github.io/binary-outcome-modeling/

这是一个"不负责任"的快速教程:仅仅是个教程,跳过了理论讲解。不过这也很有用,而且它显示了如何进行随机森林操作。 

教程地址:http://will-stanton.com/machine-learning-with-r-an-irresponsibly-fast-tutorial/

4.2 从头写个算法

为了对机器学习有更深的理解,没有什么比从头写个算法有帮助了,因为魔鬼总是在细节里。

我们建议从一些简单的开始,例如逻辑回归、决策树或者 KNN 算法。

这个项目也为你提供了一个将数据语言翻译成程序语言的实践。当你想把最新的学术界研究应用于工作时,这个技能将会十分方便。 

而如果你卡住了,这里有一些提示: 

  • 维基百科有很多好资源,它有很多常见算法的伪代码。

  • 为了培养你的灵感,请尝试查看现有机器学习软件包的源代码。

  • 将你的算法分解,为采样、梯度下降等编写单独的功能 

  • 从简单开始,在尝试编写随机森林前,先执行一个决策树。

4.3 选择一个有趣的项目或领域

如果你没有好奇心,你是很难学好的。但目前为止,也许你已经找到了想坚持下去的领域,那么开始建模吧!

老实说这是机器学习最好的部分了。这是一个强大的工具,而一旦你开始理解,很多想法都会主动找上门。 

好消息是,如果你一直在跟踪,也准备好从事这份工作,那么你的收获会远超你的想象! 

我们也推荐了 6 个有趣的机器学习项目。 

地址:https://elitedatascience.com/machine-learning-projects-for-beginners

]]> 原文: https://ift.tt/2I8ts1v
RSS Feed

机器知心

IFTTT

震惊!UCLA电路大佬用的MOS模型竟然不是平方律而是...

编者按:UCLA以电路方向的研究和教学闻名于世界,Behzad Razavi教授和Asad Abidi教授更是世界闻名的电路大师。UCLA的研究生课程模拟集成电路设计(EE215A)正是由Razavi和Abidi两位大师轮流授课。我们整理了其中精华部分与大家分享:)

焦魔最近在橙县尔湾实习,逍遥自在,乐不思蜀,已经不大想再回山鸡村了!闲暇之余,给大家带来第六讲——EKV模型(上)

说到MOS管的模型,大家应该并不陌生。针对不同的应用和需求,我们要选取相应合适的模型。比如在数字电路中,通常使用简单的开关模型或电阻-电容(RC)模型。而在模拟电路中,需要适用于不同偏置条件,不同频率的模型,对于亚微米器件,还要考虑沟道长度调制、速度饱和等短沟道效应。在仿真软件中采用的,主要是加州大学伯克利分校的一个研究小组发明的BSIM(Berkeley Short-channel IGFET Model)模型。在IC设计中,第一步往往是手算(hand calculation),而BSIM模型有上百个参数,因而我们再手算时往往会采用简化的模型,其中大家最熟悉的莫过于平方率模型。但平方率模型有两个主要的局限之处,一是难以包括诸多短沟道效应,二是只适用于MOS管偏置在强反型区(strong inversion)时的情况。在很多电路中,为了在相同的偏置电流下获得更高的增益,或者在相同增益下减小功耗,MOS管常需要偏置在弱反型区和中反型区。因而,我们需要一个在强反型区(strong inversion)、中间反型区(moderate inversion)和弱反型区(weak inversion)连续准确,且能很好包含各种短沟道效应,有方便手算的模型。

目前流行的MOS管模型大致可分为两类,一类是基于阈值电压(Threshold Voltage-based)的模型,典型的代表为BSIM3和BSIM4,大家可以参阅Razavi的课本。它的一个典型特征就是阈值电压是Vsb的函数,以此来刻画体效应。这一类模型在深亚微米工艺下有较大的局限性。另一类基于电荷(Charge-based)的模型,其代表为BSIM6和EKV模型。BSIM6模型是现在仿真工具中的CMOS工艺的标准模型(2013年发布)。而Abidi教授在课堂上讲述的EKV模型,能够在手算过程中提供很多设计指导。(EKV,由其三位发明者Enz,Krummenacher,Vittoz的名字首字母命名)

如下图所示是一个NMOS的模型图。MOS管是四端器件,包括源端(S)、漏端(D)、栅端(G)和衬底(B)。在标准CMOS工艺中,所有MOS管共用一个P型衬底,为了防止PN结正偏,P型衬底一般接GND。Vs、VD、VG均相对于衬底电压定义。源极和漏极完全对称,逐渐增加栅极电压,在器件表面会出现反型层,对于NMOS来说,反型层由电子组成。反型层非常薄,其厚度可以近似忽略不计(Charge-Sheet Approximation),因而在分析中我们采用简单的一维模型。在图中以源极为原点,由源极引向漏极画出x轴。

如下图所示,我们将坐标为x处反型层的面电荷密度记为Qinv'(x),该处的沟道电压(相对于衬底)记为Vch(x),

栅极、反型层和夹在中间的栅氧化层可以看出一个平行板电容器,则反型层面电荷密度与两极板间的电压的关系如下:

下面我们定义两个重要的概念:夹断电压(Vp, pinch-off voltage)和阈值电压(Vt0, threshold voltage)。在下图中,源极和漏极保持等电位,这样整个沟道的电势相同。如果固定VG,当沟道电压增加至Vp时,反型层电荷密度减为0;如果固定沟道电压为0V,当VG减为Vt0时,反型层电荷密度减为0。这里的阈值电压Vt0是定义在整个沟道等电位且电位为0的条件下,因而是一个定值,与之形成对比,传统模型中的阈值电压VTH是Vsb的函数。另外值得注意的是,夹断电压Vp的定义不只在源极漏极等电位使才有效,只要沟道中某一点的电压Vch(x)大于Vp,在该点处沟道就会被夹断。

夹断电压和栅极电压的关系如下图所示,这种非线性是由反型层下方的势垒电容Cdep的非线性造成的(在介绍MOS管电容模型时我们会详细阐述)。为了简化模型,通常用一条斜率为1/n的直线来近似,即Vp= (VG-Vt0)/n。在之后的计算中我们采用n = 1.5。注意:有的时候Vp与VG-Vt0的非线性关系会导致大信号偏置电路无法工作,具体地说,就是我们会推出n既大于1,又小于1,说明联立不等式无解。这个例子我们会在之后介绍偏置电路的时候举一个例子。

根据以上的近似,可以画出Qinv'和Vch的关系。当Vch= Vp时,沟道被夹断,电荷密度为0;当Vch= 0时,Qinv'= Cox'*(VG – Vt0)。细心的童鞋们可能已经注意到,下图的关系式与之前所列的平行班电容器的公式略有偏差,原因就是之前的公式是在忽略势垒电容Cdep的效应,或者说在n= 1的条件下推出的。

有了上面的铺垫,我们接下来推导电流的公式

将积分公式图形化,即为计算下图中梯形的面积,简单直观。这种图形化的方法将是我们之后进行分析的主要武器!

可以将上面的电流公式拆分为两部分:前向电流(IF,Forward Current)和后向电流(IR,Reverse Current),前向电流只受VG和VS的控制,后向电流只受VG和VD的控制

在下图中,我们通过计算三角形和梯形面积的方式推导出了MOS管在饱和区(SaturationRegion)和三极管区(TriodeRegion)的电流公式。当n= 1时,公式与平方律模型一致。

下面我们通过几个例子来体会一下EKV模型的应用:

在下图两个电路中,(b)比(a)的栅极和源极电压同时增加了Vs。我们可以通过比较三角形的面积来分析比较两个电路中流过MOS管电流的大小。图中黑色的三角形代表(a)中的电流,红色阴影部分的三角形代表(b)中的电流,显然黑色三角形面积更大,如果两图中的MOS管有相同的β,则知(a)中电流比(b)大。

如果用传统模型分析,由于两个电路中的MOS管VGS相同,而(b)中的VSB大于零,故(b)中MOS管的VTH更高,因而(VGS-VTH)更小,所以(b)中电流比(a)小。两种模型能得到相同的定性的结论,但相比较而言,EKV模型更加直观形象。

接下来我们再看看第二个例子。这是两个串联的MOS管,它们可以等效为一个新的MOS管。假设三个MOS管的宽度W都相同,又由于流过两个串联MOS管的电流相同,我们可以通过画图推出等效的MOS管的L3= L1 + L2

由以上的例子可以看出,运用EKV模型,通过画图的方式可以很形象地进行大信号的分析(在之后分析各种偏置电路以及差分对时我们会有更深刻的体会)。接下来我们要学习下MOS管的小信号模型。与传统模型不同的是,这里把小信号受控电流源分为了三部分,每一部分分别由vg,vs, vd独立控制,对应了三个小信号跨导gmg,gms, gmd。与三个受控电流源并联的是描述沟道长度调制效应的电导gds,这一效应我们将在下一讲中详细阐述。

三个跨导的表达式我们可以在图中通过计算矩形面积的方式推导而得:

与传统小信号模型不一样的的地方:

传统小信号模型中受控源的控制电压是相对于源端(S)的,这导致我们在做节点分析的时候需要把vgs这种电压拆分成(vg-vs),然后在等式两边移动,这样经常会出错,而且面试的时候会显得非常慌乱。

EKV小信号模型中受控源的控制电压都是相对于衬底(B)电压的,这样的好处就是做节点分析的时候速度非常快,经常是可以直接看着MOS管的电路图列出小信号等式,不需要再画一下小信号模型,面试的时候可以从容不迫。

我们接下来还是通过两个例子熟悉小信号模型的应用:

第一个例子是一个简单的源极跟随器。由于是恒定电流源偏置,因此漏源交流电流恒为0。由此列式即可推出电压增益的表达式。

第二个例子是一个源极负反馈的单级放大器。画出小信号模型后,我们可以轻松地推导出该电路的电压增益。

在下一讲中,我们会详细介绍MOS管在弱反型区的模型,并通过插补的方式推导出我们需要一个在强反型区、中间反型区和弱反型区连续准确的模型。我们还会介绍两个主要的短沟道效应——速度饱和效应和沟道长度调制效应。此外还会有MOS管的电容模型。大家敬请期待。

]]> 原文: https://ift.tt/2jNyje2
RSS Feed

机器知心

IFTTT

M2 模型杀回 Coding 和 Agent 领域,MiniMax 想要「普惠智能」-InfoQ每周精要No.900

「每周精要」 NO. 900 2025/11/01 头条 HEADLINE M2 模型杀回 Coding 和 Agent 领域,MiniMax 想要「普惠智能」 精选 SELECTED a16z 将 3000 万开发者标价 3 万亿 网友:几个初创公司 + 大模型就...