某企业CV笔试题

一.选择题

某企业CV笔试题

二,编程题

2.1 题目:

某企业CV笔试题

解答:https://blog.csdn.net/baidu_28312631/article/details/47418773

理解:比较核心的思路,是从底部倒推到最开始

某企业CV笔试题

 比较巧妙,后面再进行了空间复杂度优化(即从二维数组降为一维)

#include <iostream>    
#include <algorithm>   
using namespace std;   
  
#define MAX 101    
  
int D[MAX][MAX];     
int n;    
int maxSum[MAX][MAX];   
int main(){      
    int i,j;      
    cin >> n;      
    for(i=1;i<=n;i++)     
        for(j=1;j<=i;j++)          
            cin >> D[i][j];     
    for( int i = 1;i <= n; ++ i )       
        maxSum[n][i] = D[n][i];     
    for( int i = n-1; i>= 1;  --i )       
        for( int j = 1; j <= i; ++j )           
            maxSum[i][j] = max(maxSum[i+1][j],maxSum[i+1][j+1]) + D[i][j];      
    cout << maxSum[1][1] << endl;    
}   

2.2  实现一个卷积层的forward函数,输入map的shape为[w, h, ci],卷积核shape为[k,k,ci,co], padding大小为p的zero-padding,stride为1

注意:

某企业CV笔试题

代码如下: 



import numpy as np
def cnn_forward(layer_in, conv_filter, pad, stride=1):
"""implement forward computation of a CNN layer"""
    w, h, ci = layer_in.shape
    k, k, _, co = conv_filter.shape
    padded_layer = np.pad(layer_in, ((pad,), (pad,), (0,)), 'constant', constant_values=(0,))
    w_out = 1 + (w+2*pad-k)//stride
    h_out = 1 + (h+2*pad-k)//stride
    out = np.zeros((w_out, h_out, co))
    # 对每个输出空间位置(i,j)和每个深度列k
    for i in range(w_out):
        for j in range(h_out):
            layer_in_mask = padded_layer[i*stride:i*stride+k, j*stride:j*stride+k, :]
            for k in range(co):
                out[i, j, k] = np.sum(layer_in_mask*conv_filter[:,:,:,k])
    return out
​

基于tensorflow

某企业CV笔试题

某企业CV笔试题

三.问答题

3.1 请写出Relu激活函数的具体表现形式,并分析激活函数相对于其他激活函数的优劣势。 

线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。

某企业CV笔试题

某企业CV笔试题

 优势(相比sigmoid和tanh函数)

1. 使用 ReLU 得到的SGD的收敛速度会比 sigmoid/tanh 快很多

2. 相比于 sigmoid/tanh,ReLU 只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。

劣势:

1. ReLU不会对数据的幅度做约束

2.存在“死点,越过0点,ReLU函数一旦关闭,参数w就得不到更新,这就是所谓的‘dying ReLU”

 

3.2 从以下两类最优化方法中选一类,简述其原理。

1)  梯度下降SD、随机下降SGD、批量梯度下降BGD

2) 牛顿法和拟牛顿法

 

1) 梯度下降SD

某企业CV笔试题

 

3.3 简述主成分分析法的主要作用,并写出其实现过程(步骤)

 

四、附加题

4.1 请对你熟悉的任一研究方向(如运动检测、目标跟踪、人脸识别、车牌识别等)的优秀算法进行简单描述,并分析优缺点,如果你今后从事该方向的研究,你打算如何开展你的工作。

上一篇:ThinkPHP6.0学习之安装及问题解决


下一篇:php手记之05-tp5模型操作数据库