字节CV搜索提前批面试题7道|含解析
共 2773字,需浏览 6分钟
·
2023-09-06 15:12
Stable Diffusion是一种潜在扩散模型,主要通过自动编码器(VAE),U-Net以及文本编码器三个核心组件完成用文本来控制生成的图像。Unet的Attention模块Latent Feature和Context Embedding作为输入,将两者进行Cross Attenetion操作,将图像信息和文本信息进行了融合,整体上是一个经典的Transformer流程。
Cross Attention:在Transformer模型中,Cross Attention通常用于“编码器-解码器”结构中的解码器,允许解码器关注编码器的输出。解码器可以使用这种注意力权重来决定从编码器输出中关注哪些部分。
Softmax:Softmax函数是一种将向量转化为概率分布的函数。给定一个实数向量,它会输出一个相同维度的新向量,其中每个值都是在0和1之间,并且所有值的总和为1。具体地说,softmax函数的第i个元素的值是原向量的第i个元素的指数与所有元素的指数之和的比值。
问题3:交叉熵
交叉熵用于衡量两个概率分布之间的差异。在机器学习中,通常一个分布是真实的标签分布,另一个分布是模型的预测。数学上,交叉熵定义为
问题4:Focal Loss
Focal Loss是为了解决目标检测任务中正负样本不均衡问题而提出的。在传统的交叉熵损失中,容易出现大量的负样本主导损失,导致模型无法学习到稀有或困难的正样本。Focal Loss通过给予那些容易分类的样本更小的权重来减少这种影响。
问题5:Dropout
Dropout是一种正则化技巧,其在训练期间随机“关闭”神经网络中的一部分神经元。这有助于防止模型过拟合。
在训练时,Dropout层会随机地将其输入单位的一部分设置为0,其余部分不变。而在推理(或测试)时,Dropout层不会修改其输入,但可能会根据丢弃率对其输出进行缩放。
问题6:排序算法的复杂度
快速排序:平均时间复杂度是O(n log n),但在最坏的情况下是O(n^2)。
冒泡排序:时间复杂度在最好、平均和最坏的情况下都是O(n^2)。
插入排序:最好的情况下时间复杂度是O(n),平均和最坏的情况下是O(n^2)。
问题7:堆排序
堆排序是一种基于二叉堆数据结构的排序算法。
建堆的过程:可以从一个无序的数组开始,并将其转化为一个最大堆(父节点的值大于子节点)或最小堆(父节点的值小于子节点)。常用的方法是“下沉”方法,从最后一个非叶子节点开始,确保所有节点都满足堆的性质。
复杂度:建堆的时间复杂度是O(n),而堆排序的总时间复杂度是O(n log n)。
免费送
扫码回复【999】免费领10本电子书
(或找七月在线其他老师领取)
点击“阅读原文”抢宠粉福利~