电子信息专业小伙,如何入门深度学习到英伟达面试?内有笔试题

电子信息专业小伙,如何入门深度学习到英伟达面试?内有笔试题
2018年05月10日 14:18 ai人工智能angtk

深度学习从入门到面试

深度学习从入门到面试

第一项: 整体设计的方案和框架烂熟于心

第二项: 各个模块的原理

第三项: 各个模块之间如何连接,接口参数

个人情况

填充简历

举个栗子: yolo为例

面试过程

个人情况

普通一本,本科,电子信息工程专业, 比赛经历丰富,本科大三之前以学习硬件电路,单片机编程为主,成品项目作品10余个,

大四开始学习python, 机器学习,深度学习, 开始找工作,主要以图像和深度学习方向为主.

填充简历

深度学习(DeepLearning=DL),AI这些名词我也是从大二开始就有所听闻,但真正接触到这个领域是在大四. 发现了新大陆一样,毅然决然转行(工资比较诱人(⊙o⊙)…), 从我找硬件方面工作的经验来讲, 项目经历很重要. 所以在学习DL的时候以项目为目标,主要目的是为简历填充内容.

Yolo v2目标检测,人体姿势识别围棋旗子识别...

很多都是比较成熟的项目,要把别人的东西学到自己手里

我的三个目标:

整体设计的方案和框架烂熟于心

收集数据、分析数据,确定学习目标,选择算法、实现、测试并且改进的完整流程要走一遍, 要懂得你在哪里, 不能像无头苍蝇知识太多了.

数据输入, 模型设计,训练过程, 损失, 误差减小, 输出等 各个模块的原理.

各个模块之间如何连接,接口参数

举个栗子: yolo为例

第一项: 整体设计的方案和框架烂熟于心

检测目标

框架:

训练过程:

训练集 -> 网络 -> 误差 -> 最小误差 -> 保存权重

测试过程

测试图片 -> 网络 -> 输出预测参数 -> opencv 画框

(当然啦,只是举个栗子,具体要很详细的)

第二项: 各个模块的原理

每个模块的学习

第三项: 各个模块之间如何连接,接口参数

1.输入训练集和模型的输入如何连接

2.模型输出有哪些参数,如何根据这些参数绘制我需要图框,或者其他信息,

(以上是大方向的模型和外部显示的接口,还有内部接口,比如网络直接输出如何传播,是4维还是2维这些问题)

然后就是多问自己,为什么用这个,为什么这么写程序,多去百度,谷歌,一定要科学上网,youtube上很多介绍视频,bilibili也是不错的选择(我在b站学习…)

面试过程

大大小小也面了10多个公司吧,有大的有小的,

我主要面2个岗位,深度学习工程师, 深度学习嵌入式, 加速, 有些偏硬件.

总结一下:

大公司喜欢问大量的计算机基础知识,考察工程能力, 数据结构,leetcode ,这不是一朝一夕可以搞定的.

工程师面大部分从项目入手,细节问题,如何实现,遇到何种问题.

一些原理问题:

过拟合怎么解决

欠拟合怎么解决

为何会产生梯度消失爆炸

dropout为什么可以解决过拟合

L1和L2 正则化的原理

线性回归,和逻辑回归的损失loss 推导

为什么线性回归的损失使用均方误差,

为什么逻辑回归使用交叉熵

反向传递推导

除了深度还有 机器学习的一些:

频率学派和贝叶斯派的区别

贝叶斯公式

SVM 对偶的推导

还有就是问一些实际的:

你用过哪些训练集

xml, txt ,tfrecord如何读取文件, io,读取和输出的问题(这和我上文说的接口有很大关系)

常见的目标函数,激活函数和优化算法

很多问题都是在你的项目里面被提出来的, 根据你的项目随着框架一步一步问下来,你要对自己所做的东西熟悉,还要反思,有什么可以改进,为什么用这种优化方式,等等

除了算法,还有你对工具的熟悉程度,你用的框架 Tensorflow,caffe等等,官网是第一选择,youtube也有很多讲解视频,群主也会有很多入门视频等等,我的做法是了解 -> 熟练, 一个代码可能要自己抄一遍,然后根据自己印象中的框架在重新写一遍,就会发现很多语法,和不清楚的问题.

说一下笔试英伟达Deep Learning Performance Architect岗的过程吧,十分感谢群主介绍英伟达HR给我,让我有机会投递简历,可以进入从40多人选10多人的笔试环节. 据HR小姐姐讲,由于我项目经历比较多,觉得我还是比较努力上心的(罒ω罒偷笑). 规定时间1个半小时内做题写程序, 要可运行, 我觉得是筛选笔试吧,题目比较基础, 还在等待结果, 不过已经很开心了.

Given an integer number N(n = m^2-1),

print sequence 0,1,2,3,..., n,in below form.

You can only use printf(C)or cout(C++).

For example, given n =24(5^2-1), the program should output

01234

151617185

142324196

132221207

12111098

1.What memory & computation complexity of your algorithm?

2.Is there an algorithm to get O(1) of memory and O(n) of computation complexity

Write a function that reverses an ASCIIZ string in-place.

// advised prototype;You can define your own.

void reverse(char * s)

{}

Please implement a program to output all permutations of an input string in any order. e.g.with

input "abc", it outputs below strings on screen.

abc

bac

cba

bca

cab

acb

// advised prototype;You can define your own.

void printPermutations(const char *str)

{}

For series f(n)={1,0≤ n

write a non-recursive program to

compute f(n).

int calc_f(int n)

{

// …

以上是我的经历,有需要交流的,可以给我头条留言!也可以加入社群找到我!

关注人工智能

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部