袁炜林
2019/7/1 Day 1
对于本门课程、课程wiki、git、PYNQ板有了初步的了解。
·建立个人的wiki档案;
·利用fork操作从课程git上复制了课程所需的材料;
·安装python和jupyter notebook,学习notebook界面的基本操作,insert cell、split cell(用来调试很方便);
·连接PYNQ板,在jupyter notebook上试运行一个老师提供的example:按键亮灯;
2019/7/2 Day 2
继续学习PYNQ板的其他功能。
·插一个Ambient Light Sensor Pmod,进行环境光检测,运行例子代码,用手电筒照传感器,绘制环境光-时间变化曲线;
·编写一个简单的智能路灯代码,环境光越亮,亮的LED灯数量越少,环境最暗时亮4个灯,环境最亮时一个都不亮;
·运行用外接麦克风录音并playback的代码;
·外接摄像头,运行opencv人脸识别的代码;
2019/7/3 Day 3
学习机器学习的理论基础。
·了解什么是Machine Learning,历史,算法的精神内核是啥;
·了解Tensorflow的框架是如何建立的,运行一个利用tensorflow训练的分类器实例;
·具体了解Deep Learning的运算过程,明确用梯度下降方法计算损失函数最小值的过程(向偏导数负方向移动一个△x,计算损失函数,反向传播);
·了解Tensorflow是机器学习方法范式的原因:数值计算的稳定性,自己写很难保证结果的准确性;
2019/7/4 Day 4
·学习生物神经网络的结构和功能;
·学习人工神经网络的原理和训练方法:建立计算图、进行计算;
·学习全连接(多层感知机)和卷积神经网络的参数与代码写法:MLP的权重个数多,CNN权重个数少、可并行运算快、革命性;
·了解MNIST数据集,分别运行MLP方法和CNN方法识别MNIST手写数据集,发现CNN比MLP快且准确率更高;
·谷歌开放tensorflow创造出了一整个人工智能的生态;
2019/7/5 Day 5
·了解RNN(循环网络结构)的原理,RNN会把t-1时刻的数据也进行加权和bias计算,因此可以预测时间上前后的依赖与影响;
·了解RNN的实例,如语音识别/天气预报/自然语言处理等,种类众多,因为RNN输入与输出十分灵活,基本上要什么有什么;
·尝试运行RNN和动态RNN的代码;
·初步了解Jetson,并配置Jetson TX2,主要包括连接显示器/电源/键盘/鼠标等配件,由于VGA转HDMI接头坏了,并没有弄好,看了一下同学接好的界面;
2019/7/8 Day 6
智能语音识别,安卓开发。
·了解智能语音识别的应用:音箱/耳机/电视/汽车等等;智能音箱的技术组成:声学处理/智能处理器/智能软件;
·了解智能语音识别的历史,传统语音识别过程,IBM Watson,知识库;技术难点:还是数据量够不够大;
·安卓开发实践:androidPlot,andriodNet,androidAudioRec,但是没有弄好,回去再照着指导书试试看;
·运行语音识别app,准确率很高,基本上都识别对了;
2019/7/9 Day 7
学习乐聚机器人的基本编程操作。
·用aelos simple编一个金鸡独立的动作,机器人和人类的动作有相似的地方,但是也有很大的区别啊,比如人类是用提跨的方法来保持独立时的平衡,但是机器人是倾斜脚踝改变重心来保持平衡(我编的是这样的,隔壁组同学是靠改变跨舵机实现的,效果非常鬼畜);
·尝试编一个机器人躺在地上起来的动作,但是到下课也没编完,看起来像是机器人赖床的动作。。。看了郭老师的演示,机器人没有腰,和人类起来的过程完全不一样;
·机器人没要腰舵机,因为腰受力比较大,容易损坏,另外腰上的动作很复杂,很难计算;
2019/7/10 Day 8
编机器人舞蹈。
感觉给机器人编动作总的来说非常技术友好,只是乐聚机器人的肩膀最高只能到平举的位置,不能抬胳膊。
下图:跳黑帮摇的机器人