网站大量收购独家精品文档,联系QQ:2885784924

机器学习原理与应用电子教案 [5.10.5]深度学习[实践-孪生神经网络].docxVIP

机器学习原理与应用电子教案 [5.10.5]深度学习[实践-孪生神经网络].docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

备课日期:年月日

授课时间

课时(理论+实验)

周次

星期:节次:

授课课题

深度学习[实践-孪生神经网络]

教学目标

1.理解孪生神经网络基本原理。

2.掌握利用PyTorch框架实现孪生神经网络的基本方法。

教学重点

利用PyTorch框架实现孪生神经网络的基本方法。

教学准备

PPT、点名册等。

教学方法

指导阅读、案例法。

教学过程设计

备注

课题引入

【思考】人类如何区别相同的事物?

【关键】特征相似度。

【时间】分钟。

【主板书】§5.10.5孪生神经网络

---------------------------------------------------------------------------

一、基本原理

【主板书】基本原理

1.基本机制:孪生神经网络(Siameseneuralnetwork)是是基于两个神经网络建立的耦合构架。以两个样本为输入,输出其嵌入高维度空间的表征,以比较两个样本的相似程度。在监督学习范式下,孪生神经网络会最大化不同标签的表征,并最小化相同标签的表征。在自监督或非监督学习范式下,孪生神经网络可以最小化原输入和干扰输入(例如原始图像和该图像的裁减)间的表征。

2.孪生神经网络和伪孪生神经网络的适用场景区别:孪生神经网络用于处理两个输入比较类似的情况。伪孪生神经网络适用于处理两个输入有一定差别的情况。

3.孪生神经网络损失函数:常规的孪生神经网络使用ContrastiveLoss。

【强化与拓展】对比损失函数的形式(Y=1与Y=0的情况分析、阈值的含义)。

【PPT】展示对比损失函数。

【强化与拓展】孪生神经网络将样本的维度进行转换,在转换后的维度空间中的任意两样本:如果是相同类别,空间距离尽量接近;如果是不同类别,空间距离大于某个间隔。

【时间】分钟。

【提问】。

教学步骤及主要内容

二、编程实现

目的:比较两幅图片是否相似,或者说相似度是多少?

1.构造数据集

原则:将同一个类别图片文件放置一个文件夹中。

(1)两个重要的函数

Dataset类是Pytorch中图像数据集中最为重要的一个类,也是Pytorch中所有数据集加载类中应该继承的父类。

其两个私有成员函数必须被重载,否则将会触发错误提示:

__getitem__(self,index)

__len__(self)

其中__len__应该返回数据集的大小,而__getitem__接收一个index,然后返回图片数据和标签,这个index通常指的是一个list的index,这个list的每个元素就包含了图片数据的路径和标签信息。

(2)获取类别标签〖PPT〗演示

defget_label_from_image_path(image_path):

returnint(os.path.split(image_path)[0].split(\\)[-1])

(3)__getitem__与__len__函数的实现

classMyDataSet(Dataset):

def__init__(self,image_folder,transform=None,should_invert=True):

self.image_folder=image_folder#存放图片的文件夹

self.transform=transform#预处理

self.should_invert=should_invert#通道反转

self.image_list=glob.glob(self.image_folder+/*/*.jpg)#列表

def__getitem__(self,index):

same_class_yn=random.randint(0,1)#相似1或不相似0

im_1_path=random.choice(self.image_list)#随机选1幅图片

im_1_label=get_label_from_image_path(im_1_path)#图片标签

ifsame_class_yn:#抽取与im_1属于同一类的图片

whileTrue:

im_2_path=random.choice(self.image_list)

im_2_label=get_label_from_image_path(im_2_path)

文档评论(0)

释然 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档