百度计算机视觉算法工程师岗位秋招面试题分享

   日期:2024-12-25    作者:hzjulihg 移动:http://oml01z.riyuangf.com/mobile/quote/15217.html

Transformer本身是一个典型的encoder-decoder模型,Encoder端和Decoder端均有6个Block,Encoder端的Block包括两个模块,多头self-attention模块以及一个前馈神经网络模块;

Decoder端的Block包括三个模块,多头self-attention模块,多头Encoder-Decoder attention交互模块,以及一个前馈神经网络模块;

需要注意:Encoder端和Decoder端中的每个模块都有残差层和Layer Normalization层。

思路一:暴力解法

直接遍历整个数组,找到目标值target

代码如下:

空间复杂度:O(1)

先要设置整个数组的左右两端端点:left = 0,right = len(nums) - 1

1、若 target == nums[mid],直接返回

2、若 nums[left] <= nums[mid],说明左侧区间 [left,mid]「连续递增」。此时:

若 nums[left] <= target <= nums[mid],说明 target 位于左侧。令 right = mid-1,在左侧区间查找;否则,令 left = mid+1,在右侧区间查找

3、否则,说明右侧区间 [mid,right]「连续递增」。

此时:

若 nums[mid] <= target <= nums[right],说明 target 位于右侧区间。令 left = mid+1,在右侧区间查找

否则,令 right = mid-1,在左侧区间查找

代码如下:

空间复杂度:O(1)

思路:

1、如果 root 为空,直接返回 [ ]

2、定义一个数组queue,并将 root 添加到 queue中,再定义一个res 数组保存结果

3、遍历 当前层 queue 的每个左子节点,右子节点,入队列,且要把 queue 更新成当前层的孩子节点列表,直到 queue 为空。

代码如下:

参考:https://www.cnblogs.com/lintcode/p/14208525.html

思路:动态规划

dp[0][j] = abs(j - A[0])

dp[i][j] = min(dp[i][j], dp[i - 1][k] + abs(j - A[i]))

代码如下:

降低模型复杂度

增加更多的训练数据:使用更大的数据集训练模型

数据增强

正则化:L1、L2、添加BN层

添加Dropout策略

Early Stopping

欠采样:从样本较多的类中再抽取,仅保留这些样本点的一部分;

过采样:复制少数类中的一些点,以增加其基数;

生成合成数据:从少数类创建新的合成点,以增加其基数。

添加额外特征:除了重采样外,我们还可以在数据集中添加一个或多个其他特征,使数据集更加丰富,这样我们可能获得更好的准确率结果。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号