• 斯坦福/伯克利第三期暑期学术课程

  • 工程导论:李培根院士

  • 科学思维与研究方法:国家教学名师 余龙江教授

2018休斯敦大学暑期实习项目(6)​

作者:时间:2018-09-07点击数:编辑:刘艳红


本周是2018年华中科技大学同学来休斯敦大学进行暑期实习的第六周。在导师们和师兄师姐们的指导和带领下,同学们在实习项目都有了比较大的进展,在生活中也渐渐走向独立。

个人篇

UH实习日志6|熊雨琴

在上一周学习了CNN和RNN 神经网络并在一些小的数据库(mnist)上进行训练后,这一周我把目光投向了更大更加复杂的数据库,比如说CIFAR-10。

CIFAR-10数据集由10类32x32的彩色图片组成,一共包含60000张图片,每一类包含6000图片。其中50000张图片作为训练集,10000张图片作为测试集。

CIFAR-10数据集被划分成了5个训练的batch和1个测试的batch,每个batch均包含10000张图片。测试集batch的图片是从每个类别中随机挑选的1000张图片组成的,训练集batch以随机的顺序包含剩下的50000张图片。不过一些训练集batch可能出现包含某一类图片比其他类的图片数量多的情况。训练集batch包含来自每一类的5000张图片,一共50000张训练图片。

下图显示的是数据集的类,以及每一类中随机挑选的10张图片:

             

CIFAR-10数据库与之前的mnist手写数字数据库不一样,它是 三通道的RGB彩色图片,数据的输入比mnist多了一个维度,不能直接用于RNN,要先将数据处理一下,如下图所示。

             

如果直接用CNN训练,输入的维度就没有限制,下图是模型的构建代码和最终训练输出的结果。这个模型只有5到6层,但由于这个数据库实在是太大,这个模型花了我将近一天的时间来训练。

                           

既然一个比较好的模型需要花那么多时间来训练,那我们为什么不干脆直接用训练好了的模型呢。下面就是一个已经训练好了的模型-VGG

             

首先,附上一张VGG的网络结构图:

             

VGG是一个良好的特征提取器,其与训练好的模型也经常被用来做其他事情,比如计算perceptual loss(风格迁移和超分辨率任务中),尽管现在resnet和inception网络等等具有很高的精度和更加简便的网络结构,但是在特征提取上,VGG一直是一个很好的网络,所以说,当你的某些任务上resnet或者inception等表现并不好时,不妨试一下VGG,或许会有意想不到的结果。

VGG之所以是一个很好的特征提取器,除了和它的网络结构有关,我认为还和它的训练方式有关系,VGG并不是直接训练完成的,它使用了逐层训练的方法。

UH实习日志6|梁子云

这是我来到休斯敦的第五周,在这一周中,我继续tensorflow的学习,并且自己可以Run一些小程序,并且学会了一些debug的技巧。

我的学习重点仍然在RNN网络上。

RNNs的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNNs之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNNs能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关,下图便是一个典型的RNNs:

 





    RNNs包含输入单元(Input units),输入集标记为,而输出单元(Output units)的输出集则被标记为。RNNs还包含隐藏单元(Hidden units),我们将其输出集标记为,这些隐藏单元完成了最为主要的工作。你会发现,在图中:有一条单向流动的信息流是从输入单元到达隐藏单元的,与此同时另一条单向流动的信息流从隐藏单元到达输出单元。在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐藏单元,这些被称为“Back Projections”,并且隐藏层的输入还包括上一隐藏层的状态,即隐藏层内的节点可以自连也可以互连。
  上图将循环神经网络进行展开成一个全神经网络。例如,对一个包含5个单词的语句,那么展开的网络便是一个五层的神经网络,每一层代表一个单词。对于该网络的计算过程如下:

 

·         表示第步(step)的输入。比如,为第二个词的one-hot向量(根据上图,为第一个词);
PS:使用计算机对自然语言进行处理,便需要将自然语言处理成为机器能够识别的符号,加上在机器学习过程中,需要将其进行数值化。而词是自然语言理解与处理的基础,因此需要对词进行数值化,词向量(Word Representation,Word embeding)[1]便是一种可行又有效的方法。何为词向量,即使用一个指定长度的实数向量v来表示一个词。有一种种最简单的表示方法,就是使用One-hot vector表示单词,即根据单词的数量|V|生成一个|V| * 1的向量,当某一位为一的时候其他位都为零,然后这个向量就代表一个单词。缺点也很明显:

1.  由于向量长度是根据单词个数来的,如果有新词出现,这个向量还得增加,麻烦!(Impossible to keep up to date);

2.  主观性太强(subjective)

3.  这么多单词,还得人工打labor并且adapt,想想就恐

4.  最不能忍受的一点便是很难计算单词之间的相似性。
现在有一种更加有效的词向量模式,该模式是通过神经网或者深度学习对词进行训练,输出一个指定维度的向量,该向量便是输入词的表达。word2vec

·         为隐藏层的第步的状态,它是网络的记忆单元。 根据当前输入层的输出与上一步隐藏层的状态进行计算。,其中一般是非线性的激活函数,如tanhReLU,在计算时,即第一个单词的隐藏层状态,需要用到,但是其并不存在,在实现中一般置为0向量;

·         是第步的输出,如下个单词的向量表示,.
需要注意的是:

·         你可以认为隐藏层状态是网络的记忆单元. 包含了前面所有步的隐藏层状态。而输出层的输出只与当前步的有关,在实践中,为了降低网络的复杂度,往往只包含前面若干步而不是所有步的隐藏层状态;

·         在传统神经网络中,每一个网络层的参数是不共享的。而在RNNs中,每输入一步,每一层各自都共享参数。其反应者RNNs中的每一步都在做相同的事,只是输入不同,因此大大地降低了网络中需要学习的参数;这里并没有说清楚,解释一下,传统神经网络的参数是不共享的,并不是表示对于每个输入有不同的参数,而是将RNN是进行展开,这样变成了多层的网络,如果这是一个多层的传统神经网络,那么到之间的U矩阵与到之间的是不同的,而RNNs中的却是一样的,同理对于与层之间的、层与层之间的也是一样的。

·         上图中每一步都会有输出,但是每一步都要有输出并不是必须的。比如,我们需要预测一条语句所表达的情绪,我们仅仅需要关系最后一个单词输入后的输出,而不需要知道每个单词输入后的输出。同理,每步都需要输入也不是必须的。RNNs的关键之处在于隐藏层,隐藏层能够捕捉序列的信息。

  RNNs已经被在实践中证明对NLP是非常成功的。如词向量表达、语句合法性检查、词性标注等。在RNNs中,目前使用最广泛最成功的模型便是LSTMs(Long Short-Term Memory,长短时记忆模型)模型,该模型通常比vanilla RNNs能够更好地对长短时依赖进行表达,该模型相对于一般的RNNs,只是在隐藏层做了手脚。对于LSTMs,后面会进行详细地介绍。下面对RNNs在NLP中的应用进行简单的介绍。

1.语言模型与文本生成(Language Modeling and Generating Text)

  给你一个单词序列,我们需要根据前面的单词预测每一个单词的可能性。语言模型能够一个语句正确的可能性,这是机器翻译的一部分,往往可能性越大,语句越正确。另一种应用便是使用生成模型预测下一个单词的概率,从而生成新的文本根据输出概率的采样。语言模型中,典型的输入是单词序列中每个单词的词向量(如 One-hot vector),输出时预测的单词序列。当在对网络进行训练时,如果,那么第步的输出便是下一步的输入。

2.机器翻译(Machine Translation)

             
  机器翻译是将一种源语言语句变成意思相同的另一种源语言语句,如将英语语句变成同样意思的中文语句。与语言模型关键的区别在于,需要将源语言语句序列输入后,才进行输出,即输出第一个单词时,便需要从完整的输入序列中进行获取。机器翻译如下图所示:

3.语音识别(Speech Recognition)

  语音识别是指给一段声波的声音信号,预测该声波对应的某种指定源语言的语句以及该语句的概率值。

4.图像描述生成 (Generating Image Descriptions)

  和卷积神经网络(convolutional Neural Networks, CNNs)一样,RNNs已经在对无标图像描述自动生成中得到应用。将CNNs与RNNs结合进行图像描述自动生成。这是一个非常神奇的研究与应用。该组合模型能够根据图像的特征生成描述。如下图所示:

             

RNNs训练

  对于RNN是的训练和对传统的ANN训练一样。同样使用BP误差反向传播算法,不过有一点区别。如果将RNNs进行网络展开,那么参数是共享的,而传统神经网络却不是的。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,并且还以来前面若干步网络的状态。比如,在时,我们还需要向后传递三步,已经后面的三步都需要加上各种的梯度。该学习算法称为Backpropagation Through Time (BPTT)。后面会对BPTT进行详细的介绍。需要意识到的是,在vanilla RNNs训练中,BPTT无法解决长时依赖问题(即当前的输出与前面很长的一段序列有关,一般超过十步就无能为力了),因为BPTT会带来所谓的梯度消失或梯度爆炸问题(the vanishing/exploding gradient problem)。当然,有很多方法去解决这个问题,如LSTMs便是专门应对这种问题的。

UH实习日志6|关晨宇

   这一周的实验颇具戏剧性。

周一按照Dr. Brankovic的要求,把所有上周的数据全部整理拟合成数学函数的形式,于是整个一天都在Origin里寻找尝试各种参数。成就感满满地拿着拟合出的高阶多元函数给教授看时,他却似乎更偏爱在函数的linear段寻找细节。大概也是知道中国学生的数学功底,想深挖细节的他又将一个复杂的Nerst Reversible Potential的计算任务交给我。但再有一天,这样的难题也被攻克,只等下周的Presentation了。

再说到另外一个由LAM Research Corporation赞助的项目,这个项目同样充满了挑战,但好在和印度小哥一块儿做实验的话可以抱大腿。上周初探Cu deposition on Zn-Co coated wafer项目以确定Open circuit potential时没有得到任何有用的实验信息,想到我们的实验过程是将所有的electrode放在溶液里花时间调整pH之后才开始跑软件收集数据,在这段时间可能整个electroless deposition过程早就结束,这也难怪我们得到的是一条平行于X轴的稳定直线了。于是这一次我们决定改变策略,在电极浸入溶液的同时运行软件。果然结果是可喜的,屏幕上出现了我们预想的结果,虽然还显得比较粗糙,但至少在正确的路上开始探索了。这个实验的另一个难点在于,在pH达到5以上时,含Cu2+的溶液会开始变得浑浊。这是断然不能用于deposition实验的。我们尝试向Dr.Brankovic建议使用EDTA络合Cu2+以使其保持澄清。这个提议被教授否决之后我们依然决定尝试一下。结果是令人喜出望外的,之前教授说的选择性和稳定性差等原因完全没有出现,反倒是得到了比之前略显粗糙的数据更好的结果。有了这样的结果的鼓舞,我们向出差在外的教授发邮件展示我们的结果,在数据面前教授也迅速更正了他之前的观点,转而开始支持并帮助我们设计新实验。

坦白讲,这是我第一次体会到科学的乐趣。科学大概就是不断否定不断修正,前后结果的差距正是从事科学研究的motivation所在。于是这一周虽然有时都工作到晚上九十点,心里也是欣然接受的。


             

难得晚上九点还在楼外游荡

   下周一是美国的法定节日labor day,加上两天的周末正好可以凑一个小长假,遂决定出游转一下Houston周围的Dallas,Austin这几个城市以更多感受一下德州的多元风情,期待好运!

UH实习日志6|李昌

本周是来到休斯顿的第六周,实验数据的收集和GRE考试是本周的主要任务。

在实验方面,这周主要的工作还是完善实验数据。在上周完成了充放电曲线和CV曲线数据的基础上,接下来的非原位XRD数据收集的实验才是我负责部分的关键内容。因为只有在拿到精确的XRD数据之后,我们的理论模拟的结果才有一个参考的标准,才能明白我们的计算结果乃至计算方法是否具有足够的可信度。这周完成的的实验室是测试非原位XRD的前期工作,包括电极片的制作和电池的安装。在下周完成对电池的充放电测试之后,需要将电池拆开,分离其中的正极材料并拿去化学院测试。而目前我面临的一个主要问题就是如何将用于做非原位XRD的电池跑出我们预期的电池容量,因为只有在正确的容量的保证下,测试出来的XRD数据才具有可靠性。而这也是我在上上周的实验过程中所遇到的问题,下周将集中精力解决这个问题,希望能拿到比较好的实验结果。

本周的另一件事就是要准备参加周五GRE考试,准备考试花了自己比较多的时间,因此也导致本周的实验完成的较少。这是自己的第三次GRE考试,整个备考过程也是比较痛苦的,好在最后的结果还算让人满意。

此外,在周末,我们课题组集中起来开了一个Party。因为到下周,实验室将会有2个师兄离开,也有一个师兄加入到课题组当中。我们在中午12点的时候去了一家中式餐厅,全组一共到了10来号人,品尝了一下美国风味的四川菜。午餐过后,大家又一起就近去参加了一个密室逃脱的游戏。我们由于人太多就分成了两队,我所在的队伍进入的是一个以侏罗纪公园为主题的密室。两个小时的时间,最后我们很可惜的是仅仅差2min的时间将最后一个钥匙放入指定位置,很遗憾的失败了。出来之后发现另一个组的情况与我们比较类似,也是仅仅差最后一步。在经过短暂的交流之后,我们就各自坐车回家,开始好好享受周日的假期生活了。

                                 

在生活上,本周没什么太大的变化。唯一有改善的就是自己做饭的效率越来越高了,相比之前1个多小时的时间,现在基本半个小时可以讲自己晚餐和第二天的中餐搞定。另外就是自己这周向师兄借了他们理发工具,自己照着镜子给自己理了个发。

                                                     

下周一9月3号是美国这边的labor day,老美这边都会放假,连上周日的一天假期,我们实验室可以有两周的假期。我们正打算去休斯顿这边的一个splash town玩一玩。希望一切顺利。

UH实习日志6|张紫荆

    本周的实验任务安排得非常紧凑,每天做五六个小时的实验一点不闲下来的情况常有发生。但是因为对于实验器材以及实验步骤操作本身已经较为熟练,所以实验的过程还是比较顺利的,俗话说熟能生巧便是这个道理。本周的主要任务是1.合成两批电解质材料以供实验使用;2.组装正极活物为PTO的完整全电池获得恒流充放电数据和之前Li2DHBQ的实验数据进行对比;3.将上周做的Li2DHBQ,PTO的离子电子电导率的对称电池拆出去做SEM;4.三种不同生产方法的PTO粉体和原始Li2DHBQ粉体做SEM观察,5.继续组装正极活物为AQ的测量离子电子电导率的对称电池。6. Li2DHBQ 正极配比为6:3.5:0.5全电池组装。

以PTO为活物的全电池在恒流充放电测试中的衰减比Li2DHBQ要严重,Li2DHBQ电池的容量在较高电位下才会迅速降低,而PTO则是在充放电过程中容量持续降低,这使得PTO的工作窗口不如Li2DHBQ稳定。

Li2DHBQ,PTO的离子电子电导率的对称电池中,以Li - LPS - ACTIVE MATERIAL - LPS - Li 来set up 测试离子电导率的对称电池的拆出工作并不是很顺利,因为活物和电解质的接触非常不紧密,脱模之后为层状结构剥离,所以无法在电镜下下直接得到其完整的组成结构,于是在做电镜观察的时候是将ACTIVE MATERIAL - LPS - Li结合在一起的一侧做观察。电镜观察的时候要注意切面的平整,尽量保持与切面观查的载物台的上沿保持平齐。

三种不同生产方法的PTO粉体和原始Li2DHBQ粉体SEM的观察结果是,PTO的原始粉体为杆状结晶,研磨过后的粉体为短柱状结晶,而用水热沉积法制备的纳米PTO粉体为针状结晶,研磨之后为多面体型结晶,其粒径依次减小。

AQ的来自电子电导率的测试情况为其离子电子电导率都非常小,在60摄氏度时略大于室温时,其其电子电导率非常小以至于测量不出,离子电导率小于PTO和Li2DHBQ。AQ此材料的粉体粒径较大, 成型性不好,压制再卸压之后非常容易发生应力脆裂,所以我们减少了其预成型是的压力,以保证其最后结构的致密和不发生脆裂。

本周的生活方面,因为已经习惯了这边实验室工作的工作节奏,所以生活也变得有条不紊了许多。 本周自己熬海鲜粥,西红柿鸡蛋羹,做火锅,吃得很开心,算是简单的生活中一点简单的快乐。但是也希望自己在下班后的时间能够提高效率,更加集中注意力,做完自己想做的事情之后能够节省出更多时间休息,毕竟有好的休息第二天才能够好的精神来应对学习和工作,并且使之高效地进行。

UH实习日志6|李宛泽

上个周周末我去考了一场GRE,应该说国外的GRE考场环境要比国内的好许多,结果也还算是不错,写作不出问题的话,应该足够申请用了。周一的时候早起去参加了Becker教授的一堂有关机器人学的课程,讲的内容是坐标矩阵变换,虽然是之前学过的内容,但是用英语理解起来还是比较困难。

   针对之前Becker教授布置的任务,我周一将其进行了整理,做了一份PPT以备汇报之用。若想要传感器自毁,主要包括外壳的自毁以及内部电子元件的自毁,内部电路的自毁,之前Becker教授更倾向于使用爆炸的方式,但是我认为利用高温燃烧的效果会更好。另外,对于如何摧毁外壳的问题,我倾向于采用钢化玻璃做外壳,因为钢化玻璃强度高,而且具有一点破碎,整体就会破碎的特性,与我们的要求较为相符,至少是一个值得实验的方案。

   周二我在与Becker教授的weekly meeting上介绍了我的想法,他觉得很有趣,可以进行实验。但是合适的钢化玻璃产品很难买到,搞不好可能要我们自己对玻璃进行钢化处理。

   当天Becker教授又与他的同事进行了交流,也获得了一些很好的意见,他认为可以在结构上实现一个薄弱零件破坏,整个外壳整体都碎成小块的方案,并让我按着这个思路进行设计。目前大体有两个方案,一是利用机械结构及元件,如弹簧等,设计一个难装易差的结构;另一个是采用可特定溶于某种化学试剂的材料作为焊接剂,再辅之以通有化学试剂的管道,在特定时间释放,从而将外壳溶解。但是这两个方案各有问题,前者难以保证整体的强度和防水性;后者难以让化学试剂按着特定的轨迹流动,都还需要进一步的设计。

   周三我主要对昨天相处的两个方案中的第一个进行了细化,设计了一个实验用模型,并进行了打印,希望后来的实验能顺利进行。

             

该实验用模型中设置有一个连接件,连接件的内部装有一根处于压缩状态的弹簧,如果一切顺利,当酸性溶液将连接处融断后,弹簧会自动复原,从而将整个有若干部件组成的外壳弹出,从而造成整体的解体。

   由于零件的打印过程出了些问题,周四我主要进行了之前fishfinder传感器的拆分。这个传感器连接的十分紧密,使用传统的方式打开基本不可能,无奈,我只能用锯子将传感器外壳锯开,最后才得到了内部的电路结构,希望能有助于未来的分析。

   周五上午开了一周的组会,会上大家分享了一篇论文,由于之前没看到教授发的邮件,我没在会前进行预习,造成了一些尴尬。下午进行了自毁外壳的实验,效果并不十分理想,经分析,主要原因是由于3D打印加工的精度不够,无法紧密配合,特别是在支撑部分与零件的连接面,毛刺很多,极大影响了配合精度。此外,零件设计中的自由度约束也有所不足,计划下周修改零件后继续实验。

UH实习日志6|赵隽逸

    本周,为了能去蹭师兄选的的Introduction of Robotics的课程,早上7点多就起床了。但是紧赶慢赶最后还是迟到了,晚了8分钟,废了半天劲找到了上课的教室。这门课的主讲老师是一位十分年轻的assistant Professor,也是ECE系的,做机器人方向的。教室里人很多,放眼望去,中国人和印度人占了大多数。老师在讲矩阵变化,旋转矩阵等方面的知识,因为将来要应用到机器人轨迹计算等方面。虽然老师所讲的知识我之前在国内的《CAD与图形学》、《现代设计方法》、以及《线性代数》中早已学习过,但是听老师用英语讲授,感觉还是完全不同的。学到了很多有关线性代数方面的专业词汇,并且,教授在讲授过程中,并非是在单纯的念slides或者念课本,期间会穿插着许多风趣幽默的例子。当然,想要准确的get到老师例子的笑点所在也并非易事,一方面我现在的英语水平有限,有很多十分native的表达方式其实我并不能完全听懂,再加上我对欧美文化的了解太过肤浅,没有在他们的文化背景下长大想要听懂他们的段子还是有些困难的。这也让我在思考,我们国内的现行的外语教育方法是否合适?不说别的,那我自己来说,我从小学身子幼儿园就开始学习英语,学到现在也学了十几年了,尽管我的英语水平在同龄人中已经算是很优秀的了,但是,在我刚来到美国的时候,我要想真正毫无障碍地和美国人交流其实还是有些困难的,但是这种现象又很容易得到改善。在美国呆了一个月之后,我基本可以做到毫无障碍的和当地人交流,因为美国当地人的口语发音都非常纯正,而且地道的美音真的非常好听。我感觉我在美国一个月的时间,英语提高的程度远远超过我之前在国内几年学习的成果,这也侧面衬托出,语言这种东西,不是在课堂上学来的,而是需要语言环境。在相应的语言环境中,水平的提高是飞速的,不可估量的。而且国内学习的全是哑巴英语,学了十几年,一见到外国人却立马就怂了,就立马变成了哑巴,难道,你学了英语就是为了应付高考、四六级?十分庆幸的是,我在高中的时候就意识到了这一点,再加上爸妈的支持,我早早就报了个英孚英语的外教班,尽管在这里学到的东西可能对高考毫无作用,但是对我今后的影响可以说是巨大的,一方面纠正了自己的发音,跟重要的是,培养了我对英语学习的兴趣,不再觉得学习英语是一件枯燥的事情了,甚至,我从此喜欢上了学习英语。当然,这也要感谢我的优秀的高中同学们,是他们鼓励我去报名这个外教班的。

上完课回到办公室,我拿着光哥上周刚用用氧气plasma种好羟基的silicon去实验室做实验,测试一下能否实现预期的疏ferrofluid的效果。我做了几组对比试验:

1、 水直接滴在培养皿上:证明培养皿表面是疏水材料

2、 Ferrofluid直接滴在培养皿上:非常浸润

3、 乙醇滴在处理过的silicon上:比较浸润

4、 Ferrofluid滴在没处理过的silicon上:非常浸润

Ferrofluid滴在处理过的silicon上:与上一组相比,可以较明显的看出不浸润的趋势,虽然表面看起来还是比较浸润,但是仔细观察可以看到略微的contact angle,并且界面比较圆润完整,说明出现了不浸润的趋势

             

                  Dr. Becker教授的Introduction of Robotics 课堂

             

                   在silicon上用氧气plasma种羟基后的浸润性对比试验

 

常用系统与链接/LINK

湖北省武汉市洪山区珞喻路1037号 华中科技大学启明学院 邮编:430074   电话:027-87558300 027-87793421   传真:027-87793423  邮箱:qiming@hust.edu.cn