首页 > 乐器声学 专利正文
为基于生成和检索的应用学习有效音乐特征的技术的制作方法

时间:2022-01-17 阅读: 作者:专利查询

为基于生成和检索的应用学习有效音乐特征的技术的制作方法

1.本公开总体上涉及机器学习系统。更具体地,本公开涉及用于为基于生成和检索的应用学习有效音乐特征的技术。


背景技术:

2.音乐本质上是复杂的,一个单一的音乐主题或风格往往可以沿着多个维度来描述。一些维度可以广义地描述音乐,并获取提供音乐的更聚合表示的属性。这些维度可能包括音乐特征,如调性、音符密度、复杂性和乐器。其他维度可以通过考虑音乐的顺序性质和时间方面来描述音乐。这些维度可能包括诸如切分音、和声推进、音高轮廓和重复等音乐特征。
3.近年来,神经网络被用来学习一个低维的潜在“音乐空间”,该“音乐空间”封装了这些类型的音乐特征。不同的音乐段落可以与诸如空间中的不同矢量之类的空间中的不同嵌入物相关联,或者由空间中的不同嵌入物来表示。空间中两个嵌入物之间的距离可以用作两个音乐段落之间相似性的度量。彼此更相似的音乐段落可以用相隔更小距离的嵌入物来表示。彼此不太相似的音乐段落可以用相隔更大距离的嵌入物来表示。


技术实现要素:

4.【技术解决方案】
5.本公开提供了用于为基于生成和检索的应用学习有效音乐特征的技术。
6.在第一实施例中,一种方法包括接收与输入音乐内容相关联的非语言输入。该方法还包括,使用在潜在空间中嵌入描述不同音乐内容和在不同音乐内容之间的关系的多个音乐特征的模型,基于输入音乐内容识别一个或多个嵌入物。该方法还包括至少以下之一:(i)基于一个或多个识别的嵌入物识别存储的音乐内容,或者(ii)基于一个或多个识别的嵌入物生成导出的音乐内容。此外,该方法包括呈现存储的音乐内容或导出的音乐内容中的至少一个。通过训练具有一个或多个第一神经网络组件和一个或多个第二神经网络组件的机器学习系统来生成该模型,使得在潜在空间中的音乐特征的嵌入物具有预定义的分布。
7.在第二实施例中,电子设备包括至少一个存储器、至少一个扬声器和至少一个可操作地耦合到至少一个存储器和至少一个扬声器的处理器。该至少一个处理器被配置成接收与输入音乐内容相关联的非语言输入。所述至少一个处理器还被配置为使用在潜在空间中嵌入描述不同音乐内容和在不同音乐内容之间的关系的多个音乐特征的模型,基于输入音乐内容识别一个或多个嵌入物。所述至少一个处理器还被配置为至少以下之一:(i)基于一个或多个识别的嵌入物识别存储的音乐内容,或者(ii)基于一个或多个识别的嵌入物生成导出的音乐内容。此外,所述至少一个处理器被配置成经由所述至少一个扬声器呈现存储的音乐内容或导出的音乐内容中的至少一个。通过训练具有一个或多个第一神经网络组件和一个或多个第二神经网络组件的机器学习系统来生成该模型,使得在潜在空间中的音
乐特征的嵌入物具有预定义的分布。
8.在第三实施例中,非暂时性机器可读介质包含指令,当指令被执行时,使得电子设备的至少一个处理器接收与输入音乐内容相关联的非语言输入。该介质还包含指令,当被执行时,该指令使得至少一个处理器使用在潜在空间中嵌入描述不同音乐内容和在不同音乐内容之间的关系的多个音乐特征的模型,基于输入音乐内容识别一个或多个嵌入物。该介质还包含指令,该指令在被执行时使得至少一个处理器执行至少以下之一:(i)基于一个或多个识别的嵌入物识别存储的音乐内容,或者(ii)基于一个或多个识别的嵌入物生成导出的音乐内容。此外,该介质包含指令,该指令在被执行时使得至少一个处理器呈现存储的音乐内容或导出的音乐内容中的至少一个。通过训练具有一个或多个第一神经网络组件和一个或多个第二神经网络组件的机器学习系统来生成该模型,使得在潜在空间中的音乐特征的嵌入物具有预定义的分布。
9.在第四实施例中,一种方法包括接收参考音乐内容、类似于参考音乐内容的正音乐内容和不类似于参考音乐内容的负音乐内容。该方法还包括生成模型,该模型将描述参考音乐内容、正音乐内容和负音乐内容以及参考音乐内容、正音乐内容和负音乐内容之间的关系的多个音乐特征嵌入到潜在空间中。生成模型包括训练具有一个或多个第一神经网络组件和一个或多个第二神经网络组件的机器学习系统,使得在潜在空间中的音乐特征的嵌入物具有预定义的分布。
10.在另一个实施例中,机器学习系统的训练是这样进行的:一个或多个第一神经网络组件接收参考音乐内容、正音乐内容和负音乐内容,并被训练成在潜在空间中生成最小化指定损失函数的嵌入物;并且一个或多个第二神经网络组件对抗地训练一个或多个第一神经网络组件,以在具有预定分布的潜在空间中生成嵌入物。
11.在另一个实施例中,机器学习系统在两个重复阶段中被训练;第一重复阶段训练一个或多个第一神经网络组件;并且第二重复阶段使用一个或多个第二神经网络组件来对抗地训练一个或多个第一神经网络组件。
12.在另一个实施例中,预定分布是高斯和连续的。
13.在另一个实施例中,对机器学习系统进行训练,使得:包括邻接鉴别器的分类器被训练成将由一个或多个第一神经网络组件生成的参考音乐内容的嵌入物分类为(i)与由一个或多个第一神经网络组件生成的正音乐内容的嵌入物相关以及(ii)与由一个或多个第一神经网络组件生成的负音乐内容的嵌入物不相关;并且一个或多个第二神经网络组件对抗地训练一个或多个第一神经网络组件,以在具有预定分布的潜在空间中生成嵌入物。
14.在另一个实施例中,训练分类器来确定乐曲中的两个音乐内容是否是连续的。
15.在另一个实施例中,机器学习系统在两个重复阶段中被训练;第一重复阶段训练分类器以区分相关和不相关音乐内容,其中一个或多个第一神经网络组件和邻接鉴别器都被更新;并且第二重复阶段使用一个或多个第二神经网络组件来对抗地训练一个或多个第一神经网络组件。
16.在另一个实施例中,在训练期间:分类器将参考音乐内容的嵌入物和正音乐内容的嵌入物连接起来,以产生第一组合嵌入物;分类器连接参考音乐内容的嵌入物和负音乐内容的嵌入物,以产生第二组合嵌入物;并且训练分类器使用第一和第二组合嵌入物来分类相关和不相关的音乐内容。
17.在另一个实施例中,一个或多个第一神经网络组件包括卷积神经网络;并且一个或多个第二神经网络组件包括对抗鉴别器。
18.从以下附图、描述和权利要求中,其他技术特征对于本领域技术人员来说是显而易见的。
19.在进行下面的详细描述之前,阐述贯穿本专利文件使用的某些单词和短语的定义可能是有利的。术语“发送”、“接收”和“通信”及其派生词包括直接和间接通信。术语“包括”和“包含”及其派生词是指包括但不限于此。术语“或”是包含性的,意味着和/或。短语“与
……
相关联”及其派生词是指包括、被包括在内、相互连接、包含、被包含在内、连接到或与
……
连接、耦合到或与
……
耦合、可通信的、合作的、交错的、并置的、接近的、绑定到或与、具有、具有属性、或与
……
具有关系等。
20.此外,下面描述的各种功能可以由一个或多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并包含在计算机可读介质中。术语“应用”和“程序”是指一个或多个计算机程序、软件组件、指令集、过程、函数、对象、类、实例、相关数据或其适于在合适的计算机可读程序代码中实现的部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,例如只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器、光盘(cd)、数字视盘(dvd)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可以永久存储数据的介质和可以存储数据并稍后重写的介质,例如可重写光盘或可擦除存储器件。
21.如这里所使用的,诸如“具有”、“可以具有”、“包括”或“可以包括”特征(类似于数字、功能、操作或例如部件的组件)的术语和短语指示该特征的存在,并且不排除其他特征的存在。此外,如这里所使用的,短语“a或b”、“a和/或b中的至少一个”或“a和/或b中的一个或多个”可以包括a和b的所有可能组合。例如,“a或b”、“a和b中的至少一个”和“a或b中的至少一个”可以表示所有以下:(1)包括至少一个a,(2)包括至少一个b,或者(3)包括至少一个a和至少一个b。此外,如这里所使用的,术语“第一”和“第二”可以修饰各种组件,而不管其重要性如何,并且不限制这些组件。这些术语仅用于区分不同的组件。例如,第一用户设备和第二用户设备可以指示彼此不同的用户设备,而不管设备的顺序或重要性如何。在不脱离本公开的范围的情况下,第一组件可以被表示为第二组件,反之亦然。
22.应当理解,当一个元件(例如第一元件)被称为与另一个元件(例如第二元件)“耦合/连接”或“与另一个元件(例如第二元件)连接”时,它可以直接或通过第三元件与另一个元件耦合或连接。相反,应当理解,当一个元件(例如第一元件)被称为与另一个元件(例如第二元件)“直接耦合/耦合”或“直接连接/耦合”时,在该元件和另一个元件之间没有其他元件(例如第三元件)。
23.如这里所使用的,短语“被配置(或设置)为”可以根据情况与短语“适合于”、“有能力”、“被设计成”、“适合于”、“被制造成”或“能够”互换使用。短语“配置(或设置)为”本质上并不意味着“在硬件上专门设计为”。相反,短语“被配置为”可以意味着一个设备可以与另一个设备或部件一起执行操作。例如,短语“被配置(或设置)执行a、b和c的处理器”可以表示通用处理器(例如cpu或应用处理器),其可以通过执行存储在存储器件中的一个或多个
软件程序来执行操作,或者表示用于执行操作的专用处理器(例如嵌入式处理器)。
24.这里使用的术语和短语仅仅是为了描述本公开的一些实施例,而不是为了限制本公开的其他实施例的范围。应当理解,单数形式“一”、“一个”和“该”包括复数引用,除非上下文另有明确规定。这里使用的所有术语和短语,包括技术和科学术语和短语,具有与本公开的实施例所属领域的普通技术人员通常理解的含义相同的含义。还应当理解,术语和短语,例如那些在常用词典中定义的术语和短语,应当被解释为具有与其在相关领域的上下文中的含义一致的含义,并且除非在此明确定义,否则不会以理想化或过于正式的意义来解释。在一些情况下,这里定义的术语和短语可以被解释为排除本公开的实施例。
25.根据本公开的实施例的“电子设备”的示例可以包括智能手机、平板个人计算机(pc)、移动电话、视频电话、电子书阅读器、台式pc、膝上型计算机、上网本计算机、工作站、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器、移动医疗设备、照相机或可穿戴设备(例如智能眼镜、头戴式设备(hmd)、电子衣服、电子手镯、电子项链、电子配件、电子纹身、智能镜子或智能手表)中的至少一种。电子设备的其他示例包括智能家用电器。智能家用电器的示例可以包括电视、数字视频光盘(dvd)播放器、音频播放器、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、烘干机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、tv盒(例如samsung homesync、appletv或google tv)、智能扬声器或具有集成数字助理的扬声器(例如samsung galaxy home,apple homepod,或amazon echo)、游戏控制台(如xbox、playstation或nintendo)、电子词典、电子钥匙、摄录机或电子相框中的至少一种。电子设备的其他示例包括各种医疗设备(例如各种便携式医疗测量设备(如血糖测量设备、心跳测量设备或体温测量设备)、磁资源血管造影(mra)设备、磁资源成像(mri)设备、计算机断层摄影(ct)设备、成像设备或超声波设备)、导航设备、全球定位系统(gps)接收器、事件数据记录器(edr)、飞行数据记录器(fdr)、汽车信息娱乐设备、航海电子设备(例如航海导航设备或陀螺罗盘)、航空电子设备、安全设备、车辆头部单元、工业或家用机器人、自动柜员机(atms)、销售点(pos)设备或物联网(iot)设备(例如灯泡、各种传感器、电表或煤气表、洒水器、火警报警器、恒温器、路灯、烤面包机、健身设备、热水罐、加热器或锅炉)中的至少一种。电子设备的其他示例包括家具或建筑/结构的至少一部分、电子板、电子签名接收设备、投影仪或各种测量设备(例如用于测量水、电、气体或电磁波的设备)。注意,根据本公开的各种实施例,电子设备可以是上述设备中的一个或组合。根据本公开的一些实施例,电子设备可以是柔性电子设备。这里公开的电子设备不限于上面列出的设备,根据技术的发展,可以包括新的电子设备。
26.在以下描述中,根据本公开的各种实施例,参考附图描述了电子设备。如这里所使用的,术语“用户”可以表示使用该电子设备的人或另一设备(例如人工智能电子设备)。
27.贯穿本专利文件,可以提供其他特定单词和短语的定义。本领域普通技术人员应该理解,在许多情况下,如果不是大多数情况下,这样的定义适用于这样定义的单词和短语的先前和未来的使用。
28.本技术中的任何描述都不应被理解为暗示任何特定的元件、步骤或功能是必须包括在权利要求范围内的基本元件。专利主题的范围仅由权利要求限定。权利要求中的任何其他术语的使用,包括但不限于“机制”、“模块”、“设备”、“单元”、“组件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”,申请人理解为是指相关领域技术人员已知
的结构。
附图说明
29.为了更完整地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部件:
30.图1示出了包括根据本公开的电子设备的示例网络配置;
31.图2示出了根据本公开的用于机器学习以识别有效音乐特征的第一示例系统;
32.图3示出了根据本公开的用于机器学习以识别有效音乐特征的第二示例系统;
33.图4和图5示出了根据本公开被训练来识别有效音乐特征的机器学习的第一示例应用;
34.图6和7示出了根据本公开的被训练来识别有效音乐特征的机器学习的第二示例应用;
35.图8、9和10示出了根据本公开的被训练来识别有效音乐特征的机器学习的第三示例应用;
36.图11和12示出了根据本公开的用于机器学习以识别有效音乐特征的示例方法;和
37.图13示出了根据本公开的使用被训练来识别有效音乐特征的机器学习的示例方法。
具体实施方式
38.下面讨论的图1至图13以及本公开的各种实施例参考附图进行描述。然而,应当理解,本公开不限于这些实施例,并且其所有变化和/或等同物或替代物也属于本公开的范围。在整个说明书和附图中,相同或相似的参考符号可用于指代相同或相似的元件。
39.如上所述,音乐本质上是复杂的,通常可以沿着多个维度来描述。一些维度可以广义地描述音乐,并捕捉提供音乐的更聚合表示的属性,例如调性、音符密度、复杂性和乐器。其他维度可以通过考虑音乐的顺序性质和时间方面来描述音乐,例如切分音、和声推进、音高轮廓和重复。神经网络已经被用于学习封装这种音乐特征的低维潜在“音乐空间”,其中不同的音乐段落可以与空间中的不同矢量或其他嵌入物相关联或由空间中的不同矢量或其他嵌入物来表示。空间中两个嵌入物之间的距离可以用作两个音乐段落之间相似性的度量。这意味着,在高水平上,相似音乐内容的嵌入物在潜在空间中应该比不同音乐内容在几何上更接近。
40.对于某些任务,有效地学习这种潜在空间可能很重要,以便帮助确保音乐被识别、选择、生成或以符合人类期望的方式使用。这在交互式应用中尤其如此,在交互式应用中,机器的响应通常取决于人类操作者。因此,音乐特征的有效嵌入物可以用于以与人类感知相关的方式解释音乐。这种类型的嵌入物捕获了对下游任务有用的特征,并且符合适于采样和有意义插入的分布。不幸的是,学习有用的音乐特征通常是以能够从所学的音乐特征中有效地生成或解码为代价的(反之亦然)。
41.本公开提供了用于为基于生成和检索的应用学习有效音乐特征的技术。这些技术具有学习有意义的音乐特征的能力,并且符合那些嵌入在潜在音乐空间中的音乐特征的有用分布。这些技术利用上下文,同时利用对抗成分,对潜在空间中的特征分布施加形状,例
如通过反向传播。这允许通过利用上下文(这改善了特征)和约束潜在空间中的分布(这使得生成采样成为可能)来联合优化期望的特征。代替明确标记的数据,可以在音乐内容的两个相邻单元(例如同一乐曲中的两个相邻段落或部分)相关的假设下训练神经网络组件或其他机器学习算法。换句话说,相同音乐内容的两个相邻单元在潜在空间中的嵌入物之间的距离应该小于音乐内容的两个随机不相关单元在潜在空间中的嵌入物之间的距离。
42.其中,可以分析音乐内容,并且可以将其特征投影到与人类听众相关的连续低维空间中,同时在该低维空间中保持期望的分布。因此,这些技术可用于通过将大量相关音乐特征嵌入特征空间来有效地学习特征空间。此外,这些方法允许训练单个机器学习模型,并将其用于各种下游任务。通常情况下,为每个特定任务训练一个唯一的模型,因为当为多个任务训练单个模型时,任务之间的性能通常会下降。使用本公开中描述的技术训练的每个模型可以用于执行各种功能,例如基于听觉非语言输入搜索特定音乐内容、对最类似于听觉非语言输入的音乐内容进行排序、基于听觉非语言输入选择特定音乐内容用于回放以及基于听觉非语言输入自主生成音乐。此外,所描述的技术可以联合优化用于嵌入上下文、自重构和约束分布的多个损失函数(例如通过使用反向传播)。由于单个模型可以用于多个任务,因此可以同时优化多个损失函数,并且可以约束潜在空间中的特征分布,使得该分布符合特定的子空间。这种分布允许使用利用上下文的附加损失函数来学习有效特征。此外,经过训练的机器学习模型可用于在一个或多个下游任务中实现改进的性能。
43.图1示出了包括根据本公开的电子设备的示例网络配置100。图1所示的网络配置100的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用网络配置100的其他实施例。
44.根据本公开的实施例,电子设备101被包括在网络配置100中。电子设备101可以包括总线110、处理器120、存储器130、输入/输出(i/o)接口150、显示器160、通信接口170、传感器180或扬声器190中的至少一个。在一些实施例中,电子设备101可以排除这些组件中的至少一个,或者可以添加至少一个其他组件。总线110包括用于将组件120-190彼此连接以及用于在组件之间传输通信(例如控制消息和/或数据)的电路。
45.处理器120包括中央处理器(cpu)、图形处理器(gpu)、应用处理器(ap)或通信处理器(cp)中的一个或多个。处理器120能够对电子设备101的至少一个其他组件执行控制和/或执行与通信相关的操作或数据处理。例如,处理器120可以用于训练,以便学习有效的音乐特征,例如通过将大量不同的音乐内容嵌入到期望分布的潜在空间中。处理器120还可以或替代地将训练好的机器学习模型用于一个或多个基于生成和检索的应用,例如搜索、排名、播放或生成音乐内容。
46.存储器130可以包括易失性和/或非易失性存储器。例如,存储器130可以存储与电子设备101的至少一个其他组件相关的命令或数据。根据本公开的实施例,存储器130可以存储软件和/或程序140。程序140包括例如内核141、中间件143、应用编程接口(api)145和/或应用程序(或“应用”)147。内核141、中间件143或应用编程接口145的至少一部分可以表示为操作系统(os)。
47.内核141可以控制或管理用于执行在其他程序(例如中间件143、api 145或应用程序147)中实现的操作或功能的系统资源(例如总线110、处理器120或存储器130)。内核141提供允许中间件143、api 145或应用程序147访问电子设备101的各个组件以控制或管理系
统资源的接口。应用程序147可以包括一个或多个用于机器学习和/或训练机器学习模型使用的应用程序,如下所述。这些功能可以由单个应用执行,也可以由多个应用执行,每个应用执行一个或多个这些功能。中间件143可以用作中继,以允许例如api 145或应用147与内核141通信数据。可以提供多个应用147。中间件143能够控制从应用147接收的工作请求,例如通过将使用电子设备101的系统资源(像总线110、处理器120或存储器130)的优先级分配给多个应用147中的至少一个。api 145是允许应用程序147控制从内核141或中间件143提供的功能的接口。例如,api 145包括至少一个用于归档控制、窗口控制、图像处理或文本控制的接口或功能(例如命令)。
48.i/o接口150用作接口,其可以例如将来自用户或其他外部设备的命令或数据输入传输到电子设备101的其他组件。i/o接口150还可以向用户或其他外部设备输出从电子设备101的其他组件接收的命令或数据。
49.显示器160包括例如液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、量子点发光二极管(qled)显示器、微机电系统(mems)显示器或电子纸显示器。显示器160也可以是深度感知显示器,例如多焦点显示器。显示器160能够向用户显示例如各种内容(例如文本、图像、视频、图标或符号)。显示器160可以包括触摸屏,并且可以使用电子笔或用户的身体部分接收例如触摸、手势、接近或悬停输入。
50.通信接口170例如能够建立电子设备101和外部电子设备(例如第一电子设备102、第二电子设备104或服务器106)之间的通信。例如,通信接口170可以通过无线或有线通信与网络162或164连接,以与外部电子设备通信。通信接口170可以是有线或无线收发器或用于发送和接收信号的任何其他组件。
51.电子设备101还包括一个或多个传感器180,其可以计量物理量或检测电子设备101的激活状态,并将计量或检测的信息转换成电信号。例如,一个或多个传感器180可以包括一个或多个麦克风,其可以用于捕捉来自一个或多个用户的非语言听觉输入(例如音乐表演)。传感器180还可以包括用于触摸输入的一个或多个按钮、一个或多个照相机、手势传感器、陀螺仪或陀螺仪传感器、气压传感器、磁传感器或磁力计、加速度传感器或加速度计、抓握传感器、接近传感器、颜色传感器(例如红绿蓝(rgb)传感器)、生物物理传感器、温度传感器、湿度传感器、照明传感器、紫外(uv)传感器、肌电图(emg)传感器、脑电图(eeg)传感器、心电图(ecg)传感器、红外(ir)传感器、超声波传感器、虹膜传感器或指纹传感器。传感器180还可以包括惯性测量单元,该惯性测量单元可以包括一个或多个加速度计、陀螺仪和其他组件。此外,传感器180可以包括用于控制这里包括的至少一个传感器的控制电路。这些传感器180中的任何一个都可以位于电子设备101内。
52.此外,电子设备101包括一个或多个扬声器190,其可以将电信号转换成可听声音。如下所述,一个或多个扬声器190可以用于向至少一个用户播放音乐内容。通过一个或多个扬声器190播放的音乐内容可以包括伴随用户音乐表演的音乐内容、与用户提供的输入相关的音乐内容或者基于用户提供的输入生成的音乐内容。
53.第一外部电子设备102或第二外部电子设备104可以是可穿戴设备或可安装电子设备的可穿戴设备(例如hmd)。当电子设备101安装在电子设备102(例如hmd)中时,电子设备101可以通过通信接口170与电子设备102通信。电子设备101可以直接与电子设备102连接,以与电子设备102通信,而不涉及单独的网络。电子设备101也可以是包括一个或多个照
相机的增强现实可佩戴设备,例如眼镜。
54.无线通信能够使用例如长期演进(lte)、高级长期演进(lte-a)、第五代无线系统(5g)、毫米波或60ghz无线通信、无线usb、码分多址(cdma)、宽带码分多址(wcdma)、通用移动电信系统(umts)、无线宽带(wibro)或全球移动通信系统(gsm)中的至少一种作为蜂窝通信协议。有线连接可以包括例如通用串行总线(usb)、高清晰度多媒体接口(hdmi)、推荐标准232(rs-232)或普通老式电话服务(pots)中的至少一种。网络162或164包括至少一个通信网络,例如计算机网络(像局域网(lan)或广域网(wan))、互联网或电话网络。
55.第一和第二外部电子设备102和104以及服务器106每个都可以是与电子设备101相同或不同类型的设备。根据本公开的某些实施例,服务器106包括一组一个或多个服务器。此外,根据本公开的某些实施例,在电子设备101上执行的所有或一些操作可以在另一个或多个其他电子设备(例如电子设备102和104或服务器106)上执行。此外,根据本公开的某些实施例,当电子设备101应该自动地或应请求执行某些功能或服务时,电子设备101可以请求另一设备(诸如电子设备102和104或服务器106)执行与其相关联的至少一些功能,而不是自己或附加地执行该功能或服务。其他电子设备(例如电子设备102和104或服务器106)能够执行所请求的功能或附加功能,并将执行结果传送给电子设备101。电子设备101可以通过原样或附加地处理接收到的结果来提供所请求的功能或服务。为此,例如,可以使用云计算、分布式计算或客户端-服务器计算技术。虽然图1示出了电子设备101包括通信接口170以经由网络162或164与外部电子设备104或服务器106通信,但是根据本公开的一些实施例,电子设备101可以独立操作而没有单独的通信功能。
56.服务器106可以可选地通过执行或支持在电子设备101上实现的至少一个操作(或功能)来支持电子设备101。例如,服务器106可以包括可以支持在电子设备101中实现的处理器120的处理模块或处理器。
57.尽管图1示出了包括电子设备101的网络配置100的一个示例,但是可以对图1进行各种改变。例如,网络配置100可以包括任何合适布置中的任何数量的每个组件。一般来说,计算和通信系统有各种各样的配置,并且图1没有将本公开的范围限制到任何特定的配置。此外,虽然图1示出了可以使用本专利文件中公开的各种特征的一种操作环境,但是这些特征可以用于任何其他合适的系统中。
58.图2示出了根据本公开的用于机器学习以识别有效音乐特征的第一示例系统200。具体而言,图2所示的系统200可以表示机器学习的一个模型,该模型可以被训练成通过将相关音乐特征嵌入到空间中来学习潜在的音乐空间。图2所示的系统200可用于图1的网络配置100中,例如当图2的系统200使用图1的网络配置100中的服务器106来实现或由服务器106来执行时。然而,注意,系统200可以使用任何其他合适的设备并且在任何其他合适的环境中实现。
59.在图2的示例实施例中,使用深度结构化语义模型(dssm)的修改形式来实现系统200。更具体地,对抗性dssm被用于实现系统200。如图2所示,系统200包括嵌入生成器202。注意,虽然图2标识了嵌入生成器202和两个嵌入生成器202’和202”,但是嵌入生成器202’和202”可以简单地表示用于处理不同信息的相同嵌入生成器202。当然,这里也可以使用一个以上的嵌入生成器。该特定示例中的嵌入生成器202包括多个操作层208。嵌入生成器202中的操作层208通常操作来执行各种操作,以分别将非语言可听输入数据210a-210c转换成
输出嵌入物212a-212c。每个输出嵌入物212a-212c表示潜在音乐空间中相关联的非语言听觉输入数据210a-210c的音乐特征。
60.嵌入生成器202中的操作层208可以执行任何合适的操作,以基于非语言可听输入数据210a-210c生成输出嵌入物212a-212c。在一些实施例中,嵌入生成器202表示卷积神经网络,其包括操作层208,例如一个或多个池化层、一个或多个归一化层、一个或多个连接层和/或一个或多个卷积层。每个池化层可以选择或组合来自前一层的输出,以输入到下一层。例如,使用最大池化的池化层标识来自前一层中的集群的最大输出以输入到下一层,而使用平均池化的池化层标识来自前一层中的集群的输出的平均值以输入到下一层。每个归一化层可以归一化来自前一层的输出,以输入到下一层。每个连接层可以形成用于在层之间路由信息的连接。每个卷积层可以对输入应用卷积运算,以便生成输出到下一层的结果。这里可以使用线214来表示非相邻操作层208之间的可选连接,这意味着由一个层208生成的残差或其他数据可以被提供给非相邻层208。在特定实施例中,嵌入生成器202可以表示完全连接的卷积神经网络。然而,注意,这里用于嵌入生成器202的机器学习算法的特定类型和层之间的连接可以根据需要或期望而变化,并且这里可以使用其他类型的机器学习算法,只要机器学习算法可以在潜在空间中生成音乐内容的嵌入物。
61.这里的嵌入生成器202用于处理不同的参考输入数据210a并生成不同的嵌入物212a,处理不同的正输入数据210b并生成不同的嵌入物212b,以及处理负输入数据210c并生成不同的嵌入物212c。已知正输入数据210b类似于参考输入数据210a(至少就嵌入物所表示的音乐特征而言)。在一些情况下,参考输入数据210a和正输入数据210b可以表示同一乐曲中的相邻段落或部分,有助于确保两者之间的相似性。已知负输入数据210c不同于参考输入数据210a(至少就嵌入物所表示的音乐特征而言)。在一些情况下,参考输入数据210a和负输入数据210c可以表示不同乐曲(例如不同流派)中的不同段落或部分,有助于确保两者之间的非相似性。
62.对于dssm,如果q(z)表示由dssm函数f(x)针对x∈x生成的长度为d的所有嵌入物的聚合后验分布,则训练dssm的一个目标是将q(z)与预定义的期望分布p(z)相匹配,期望分布p(z)可以定义为zi~nd(μ,σ2),其中μ=0,σ2=1。这可以通过将对抗鉴别器216连接到嵌入生成器202的最后一层来实现。注意,虽然图2标识了对抗鉴别器216和两个对抗鉴别器216’和216”,但是对抗鉴别器216’和216”可以简单地表示用于处理不同信息的同一对抗鉴别器216。当然,这里也可以使用一个以上的对抗鉴别器。对抗鉴别器216与嵌入生成器202(其本身是dssm)一起联合地被对抗训练。对抗鉴别器216通常用于区分生成的嵌入物212a-212c和从q(z)采样的矢量。对抗鉴别器216由此有助于确保来自嵌入生成器202的嵌入物212a-212c的聚合后验分布符合预定分布。在一些实施例中,预定义分布可以是高斯和连续的,尽管也可以使用其他预定义分布(例如均匀分布)。
63.从图2中可以看出,对抗鉴别器216包括几个操作层222,这些操作层可以用来执行支持对抗鉴别器216的所需功能。通过仅使用几个层222来执行实际的辨别,大多数用于音乐内容分类的良好特征将需要由嵌入生成器202来学习。这迫使系统200以这样一种方式嵌入输入数据210a-210c,即不仅有效地对其自身进行编码,而且还能有效地将其自身与不相关的输入区分开。虽然这里示出了三个操作层222,但是对抗鉴别器216可以包括任何合适数量的操作层222。
64.在系统200的训练期间使用损失函数224来帮助为形成嵌入生成器202的神经网络或其他机器学习算法建立适当的参数。例如,损失函数224可以在训练期间使用诸如随机梯度下降的方法来最小化。
65.标准dssm训练非常适合度量学习,因为它显式地训练dssm的参数来为相关项目产生一起更接近的嵌入物(根据距离度量),同时将不相关项目推得更远。然而,负样本的数量和易难样本的比例通常大大偏向容易的一端。这通常会产生较差的性能,因为许多样本可以以非常小的损失满足约束,而在反向传播期间不会提供真正有意义的更新。这通常导致高类间方差和低类内方差,使得细粒度分类或有意义的相似性度量(对音乐很重要)具有挑战性或不可能。为了解决这个问题,过去使用了一种自举方法,其中从数据集中手动挖掘特别困难的样本,并在训练的不同阶段使用。不幸的是,这需要在训练过程中进行人工干预。
66.在一些实施例中,对抗鉴别器216的使用自然有助于通过在嵌入生成器202产生的嵌入物中实施预定义的分布来缓解这个问题。在训练期间,可以修改嵌入生成器202的参数,以便找到一种方法来实现期望的相似性度量,同时遵守不允许其中大多数样本可以容易地满足相似性约束的学习空间的预定义分布。
67.在一些实施例中,图2所示的系统200可以分两个阶段训练。在第一阶段,可以使用标准或其他合适的dssm训练技术来训练嵌入生成器202,并且在该阶段期间可以使用负样本来计算损耗(例如软最大损耗)。在第二阶段,嵌入发生器202和对抗鉴别器216被训练,从而对抗鉴别器216使得嵌入发生器202产生看起来好像它们已经从预定义分布p(z)被采样的嵌入物。因此,系统200的参数正在根据两种不同的损失进行优化,一种学习相似性度量,另一种学习以描述数据,使得嵌入物的聚合后验分布满足预定义分布(在一些实施例中可以是高斯和连续的)。
68.对于训练的第一阶段,在一些实施例中,可以使用欧几里德相似性来训练嵌入生成器202。两个嵌入物之间的欧几里德相似性可以表示如下:
[0069][0070]
其中知表示两个嵌入物,表示两个嵌入物之间的欧几里德相似度,表示潜在特征空间中两个嵌入物之间的欧几里德距离度量。在该示例中,距离度量用欧几里德距离来表示,尽管其他距离项(例如余弦距离)也可以用作距离度量。在一些实施例中,可以在softmax函数中包括负样本来计算其中表示重构矢量或其他嵌入物,并且表示输入矢量或其他嵌入物。这可以表述如下:
[0071][0072]
系统200训练嵌入生成器202通过最小化损失函数224来学习其参数,例如在一些实施例中通过使用随机梯度下降。这可以表述如下:
[0073][0074]
对于训练的第二阶段,在一些实施例中可以使用生成对抗网络(gan)训练过程来训练嵌入生成器202和对抗鉴别器216。在gan训练过程中,对抗鉴别器216首先被训练来区分生成的嵌入物212a-212c和从q(z)采样的矢量或其他嵌入物。嵌入生成器202然后被训练
来欺骗相关联的对抗鉴别器216。一些实施例使用确定性版本的gan训练过程,其中随机性仅来自数据分布,并且不需要引入额外的随机性。
[0075]
训练在使用dssm过程的第一阶段和使用gan过程的第二阶段之间交替进行,直到等式(3)收敛。相对于dssm损耗,gan过程的更高学习速率(特别是用于更新嵌入生成器202)可以帮助获得期望的结果。否则,基于gan的更新可能影响很小或没有影响,导致模型具有与标准dssm非常相似的行为,而没有任何对抗成分。
[0076]
图3示出了根据本公开的用于机器学习以识别有效音乐特征的第二示例系统300。具体而言,图3所示的系统300可以表示机器学习的另一个模型,该模型可以被训练成通过将相关的音乐特征嵌入到空间中来学习潜在的音乐空间。图3所示的系统300可用于图1的网络配置100中,例如当图3的系统300使用图1的网络配置100中的服务器106来实现或由服务器106来执行时。然而,注意,系统300可以使用任何其他合适的设备并且在任何其他合适的环境中实现。
[0077]
在图3的示例实施例中,系统300使用对抗邻接模型来实现,可以说该模型代表了一种暹罗网络范例。如图3所示,系统300包括嵌入生成器302。注意,虽然图3标识了嵌入生成器302和嵌入生成器302’,但是嵌入生成器302’可以简单地表示用于处理不同信息的同一嵌入生成器302。当然,这里也可以使用一个以上的嵌入生成器。该特定示例中的嵌入生成器302包括多个操作层308,这些操作层通常操作用于执行各种操作,以将非语言可听输入数据310a-310b分别转换成输出嵌入物312a-312b。每个输出嵌入物312a-312b表示定义的潜在音乐空间中相关联的非语言听觉输入数据310a-310b的音乐特征。
[0078]
嵌入生成器302中的操作层308可以执行任何合适的操作,以基于非语言可听输入数据310a-310b生成输出嵌入物312a-312b。在一些实施例中,嵌入生成器302表示卷积神经网络,其包括操作层308,例如一个或多个池化层、一个或多个归一化层、一个或多个连接层和/或一个或多个卷积层。线314可以用于表示非相邻操作层308之间的可选连接,这意味着由一个层308生成的残差或其他数据可以被提供给非相邻层308。在特定实施例中,嵌入生成器302可以表示完全连接的卷积神经网络。然而,注意,这里用于嵌入生成器302的机器学习算法的特定类型和层之间的连接可以根据需要或期望而变化,并且这里可以使用其他类型的机器学习算法,只要机器学习算法可以在潜在空间中生成音乐内容的嵌入物。
[0079]
这里,嵌入生成器302用于处理不同的参考输入数据310a并生成不同的嵌入物312a,以及处理不同的正或负输入数据310b并生成不同的嵌入物312b。已知正输入数据310b类似于参考输入数据310a,并且已知负输入数据310b不同于参考输入数据310a(至少就嵌入物所表示的音乐特征而言)。在一些情况下,参考输入数据310a和正输入数据310b可以表示同一乐曲中的相邻段落或部分,有助于确保两者之间的相似性。此外,在一些情况下,参考输入数据310a和负输入数据310b可以表示不同乐曲(例如不同流派)中的不同段落或部分,有助于确保两者之间的非相似性。
[0080]
与图2中使用的dssm不同,图3中的嵌入物312a-312b没有针对期望的度量直接进行优化。相反,可以使用邻接鉴别器实现的分类器324被训练来确定两个输入单元(嵌入物312a和嵌入物312b)是否相关。因为邻接被用作代替手动设计的相似性标签的自监督替代,所以分类器324可以在这里被训练来确定两个嵌入物312a和312b是否表示乐曲中的连续音乐内容。
[0081]
在一些实施例中,分类器324的一个版本生成组合嵌入物,其中每个组合嵌入物是通过将一个嵌入物312a与一个嵌入物312b串联以形成单个分类器输入而形成的。因此,组合嵌入物可以表示连接的矢量。组合嵌入物用于训练分类器324,以从每个组合嵌入物产生二进制分类。二进制分类可以标识与嵌入物312b连接的嵌入物312a是相关的(当嵌入物312b用于正输入数据310b时)还是不相关的(当嵌入物312b用于负输入数据310b时)。然而,这里的一个目标可以包括能够嵌入单个单元(单个嵌入物312a或312b)。因此,系统300的一些实施例使用捆绑权重,其中嵌入生成器302的较低层是相同的,并且嵌入物直到深入网络几层时才被连接。换句话说,两个输入(输入数据310a和输入数据310b)被独立嵌入,但是相同的参数被用于执行所述嵌入。
[0082]
分类器324被配置成使用连接嵌入物312a-312b来区分相关和不相关输入。同样,通过仅使用几个层来执行分类器324中的实际区分,大多数用于音乐内容分类的良好特征将需要由嵌入生成器302来学习。这迫使系统300以这样的方式嵌入输入数据310a-310b,该方式不仅有效地对其自身进行编码,而且能够有效地将自身与不相关的输入区分开。系统300可以通过将相关单元更紧密地嵌入在一起来实现这一点。注意,为了便于比较,系统300的部分体系结构可以使用与图2所示相同的dssm型网络。
[0083]
同样,对抗鉴别器316可以连接到嵌入生成器302的最后一层。注意,虽然图3标识了对抗鉴别器316和对抗鉴别器316’,但是对抗鉴别器316’可以简单地表示用于处理不同信息的相同对抗鉴别器316。当然,这里也可以使用一个以上的对抗鉴别器。对抗鉴别器316可以以与对抗鉴别器216相同或相似的方式操作。同样,这里的一个目标是来自嵌入生成器302的嵌入物312a-312b的聚合后验分布符合预定分布。在一些实施例中,预定义分布可以是高斯和连续的,尽管也可以使用其他预定义分布(例如均匀分布)。
[0084]
在一些实施例中,图3所示的系统300可以分两个阶段训练。在第一阶段,分类器324被训练来区分相关和不相关输入。在第二阶段,嵌入发生器302和对抗鉴别器316被训练,从而对抗鉴别器316使得嵌入发生器302产生看起来好像它们已经从预定义分布p(z)被采样的嵌入物。因此,可以在训练过程的两个阶段更新模型的嵌入部分。
[0085]
对于训练的第一阶段,在一些实施例中,可以使用具有两个分类(相关和不相关)的交叉熵来训练分类器324。这可以表示为:
[0086][0087]
其中,m表示分类的数量(本例中为两个),y’表示预测概率,y表示真实值(ground truth)。对于训练的第二阶段,可以使用上述的gan训练过程。根据实现方式,与图2所示的方法相比,图3所示的方法可能固有地更稳定,并且涉及两个损失之间的学习速率的较少调整。
[0088]
这里应该注意的是,图2和3中所示的两种方法都可以通过在空间中嵌入大量音乐段落来学习潜在的音乐空间,并且任一方法中的结果模型都可以用于执行各种功能。例如,用户输入可以被投影到潜在空间中,以便识别与用户输入最接近的嵌入物。最接近的嵌入物然后可以用于为用户识别、排名、播放或生成音乐内容。这里还应该注意,这些方法的执行或使用可能与输入无关。也就是说,图2和图3所示的方法可以成功操作,而不管音乐内容和其他非语言听觉数据是如何表示的。因此,与基于音乐的模型的性能可以由数据的输入
表示来确定的其他方法不同,这里的方法可以使用任何合适的音乐表示来训练机器学习模型。这些表示可以包括音乐的符号表示和音乐的原始音频表示,例如梅尔频率倒谱系数(mel-frequency cepstral coefficient,mfcc)序列、谱图、振幅谱或色度图。
[0089]
尽管图2和3示出了用于机器学习以识别有效音乐特征的系统200和300的两个例子,但是可以对图2和3进行各种改变。例如,图2和图3中实现用于生成嵌入物的嵌入生成器的特定机器学习算法可以不同于上述算法。此外,在各种嵌入生成器、对抗鉴别器和分类器中示出的操作层的数量可以根据需要或期望而变化。
[0090]
图4和5示出了根据本公开的用于机器学习的第一示例应用400,其被训练来识别有效的音乐特征。具体而言,图4和图5示出了机器学习模型(可以如上所述进行训练)可以用于执行特定最终用户应用的第一示例方式。图4和图5所示的应用400可以用在图1的网络配置100中,例如当使用图1的网络配置100中的至少一个服务器106和至少一个电子设备101、102、104来执行应用400时。然而,注意,应用400可以使用任何其他合适的设备并且在任何其他合适的环境中执行。
[0091]
如图4和图5所示,接收输入话语402,在该示例中,输入话语402表示生成音乐内容以伴随至少一个用户的音乐表演的请求。在一些实施例中,输入话语402可以在用户的电子设备101、102、104处接收,并由电子设备101、102、104的至少一个传感器180(例如麦克风)感测。这里,输入话语402被数字化,并从电子设备101、102、104传送到基于云的平台,该平台可以使用一个或多个服务器106来实现。
[0092]
基于云的平台的自动语音识别(asr)和类型分类器功能404分析输入话语402的数字化版本,以便理解输入话语402并识别响应于输入话语402而发生的动作类型。例如,asr和类型分类器功能404可以执行自然语言理解(nlu),以便导出输入话语402的含义。asr和类型分类器功能404可以使用输入话语402的导出含义,以便确定应该使用静态功能406还是连续功能408来生成对输入话语402的响应。asr和类型分类器功能404支持任何合适的逻辑来执行语音识别和选择要提供的响应类型。
[0093]
如果被选择,静态功能406可以分析输入话语402或其导出的含义,并生成标准响应410。标准响应410可以被提供给电子设备101、102、104,以呈现给至少一个用户。静态功能406的特征通常在于,一旦提供了标准响应410,就可以完成对输入话语402的处理的事实。相反,连续功能408可以分析输入话语402或其导出的含义,并与电子设备101、102、104交互,以便对用户请求提供更连续的响应。在该示例中,由于请求是生成音乐内容以伴随音乐表演,所以连续功能408可以使电子设备101、102、104生成并播放伴随音乐表演的音乐内容。
[0094]
为了满足这里的用户请求,从至少一个用户提供非语言用户输入412,并由电子设备101、102、104的一个或多个分析功能414处理。这里,非语言用户输入412表示至少一个用户的音乐表演。例如,非语言用户输入412可以由演奏一种或多种乐器的一个或多个用户生成。用户输入412由电子设备101、102、104捕获,例如用电子设备的麦克风。分析功能414的模数功能502可用于将捕获的用户输入412转换成相应的数字数据,分析功能414使用该数字数据为训练的机器学习模型(例如图2的系统200或图3的系统300)生成一组或多组输入数据504。经过训练的机器学习模型使用一组或多组输入数据504来产生一个或多个嵌入物506,嵌入物506表示投影在所学习的潜在空间中的用户输入412。注意,虽然这里没有示出,
但是在生成一个或多个嵌入物506之前,可以对数字化的用户输入412执行各种预处理操作。这里可以执行任何合适的预处理操作,例如音调检测。
[0095]
一个或多个嵌入物506用于确定一个或多个辅助动作416,在该示例中,辅助动作416包括播放伴随音乐表演的音乐内容(例如通过电子设备101、102、104的扬声器190)。例如,一个或多个嵌入物506可以被扰动以生成一个或多个修改的嵌入物508。一个或多个嵌入物506的扰动可以以任何合适的方式发生,例如通过根据一些指定的标准修改包含在一个或多个嵌入物506中的值。
[0096]
一个或多个嵌入物506和/或一个或多个修改的嵌入物508可以用于选择或生成要向用户播放的音乐内容。例如,作为检索操作510的一部分,一个或多个嵌入物506和/或一个或多个修改的嵌入物508可以用于识别潜在空间中的一个或多个类似嵌入物。这里,潜在空间中的一个或多个相似嵌入物与类似于音乐表演的音乐内容相关联,因此电子设备101、102、104可以检索并向用户播放与一个或多个相似嵌入物相关联的音乐内容。作为另一示例,在生成操作512的一部分,一个或多个修改的嵌入物508可以被解码并用于生成导出的音乐内容,并且电子设备101、102、104可以向用户播放导出的音乐内容。当接收到更多非语言用户输入412并且向用户播放附加音乐内容(无论是检索的还是生成的)时,可以重复该过程。
[0097]
注意,虽然单个电子设备101、102、104在这里被描述为由至少一个用户使用,但是图4和5所示的应用400可以使用多个电子设备101、102、104来执行。例如,可以经由第一电子设备101、102、104接收输入话语402,并且可以经由第二电子设备101、102、104播放音乐内容。第二电子设备101、102、104可以以任何合适的方式被识别,例如基于先前的配置或基于输入话语402。
[0098]
图6和7示出了根据本公开的用于被训练来识别有效的音乐特征的机器学习的第二示例应用600。特别地,图6和7示出了第二种示例方式,其中机器学习模型(可以如上所述进行训练)可以用于执行特定的最终用户应用。图6和7中所示的应用600可以用在图1的网络配置100中,例如当使用图1的网络配置100中的至少一个服务器106和至少一个电子设备101、102、104来执行应用600时。然而,注意,应用600可以使用任何其他合适的设备并且在任何其他合适的环境中执行。
[0099]
如图6所示,接收到用户输入602,在该示例中,用户输入602表示创作音乐内容的请求。这里的用户输入602可以形成各种形式,其几个例子在图6中示出。例如,用户输入602可以请求类似于预先存在的音乐内容的音乐内容的组成,或者用户输入602可以请求类似于由用户提供的非语言输入(例如通过哼唱或演奏乐器)的音乐内容的组成。这里由用户提供的任何非语言输入的持续时间可以相对较短,例如在大约三秒到大约十秒之间。虽然这里没有示出,但是用户输入602可以遵循与图4中的输入话语402相似的路径。也就是说,用户输入602可以被提供给基于云的平台,并由asr和类型分类器功能404处理,其可以确定连续功能408应该用于生成对用户输入602的响应。
[0100]
生成功能604使用一些指定的音乐内容作为起始种子,并生成导出的音乐内容,以通过呈现功能606回放给用户。例如,如果用户请求类似于预先存在的音乐内容的乐曲,则用户的电子设备101、102、104可以识别(或生成)预先存在的音乐内容在潜在空间中的一个或多个嵌入物,并使用该一个或多个嵌入物来产生导出的音乐内容。如果用户请求类似于
由用户提供的音乐输入的乐曲,则用户的电子设备101、102、104可以生成用户的音乐输入在潜在空间中的一个或多个嵌入物,并使用该一个或多个嵌入物来产生导出的音乐内容。作为特定示例,来自用户的音乐输入的一个或多个嵌入物可以用于选择其嵌入物类似于来自用户的音乐输入的嵌入物的预先存在的乐曲,并且预先存在的乐曲可以用作种子。
[0101]
图7中示出了生成函数604的一个示例实现,其示出了生成函数604接收多组输入数据702a-702n。这里,输入数据702a-702n表示用于生成导出音乐内容的种子。在一些实施例中,输入数据702a-702n可以表示预先存在的乐曲的不同部分(例如五到十秒的片段)。先前存在的乐曲可以表示由用户具体识别的先前存在的音乐内容,或者先前存在的乐曲可以表示基于用户的音乐输入选择的先前存在的音乐内容。使用训练的机器学习模型(例如图2的系统200或图3的系统300)将输入数据702a-702n转换成不同的嵌入物704。嵌入物704被提供给至少一个递归神经网络(rnn)706,其处理嵌入物704以产生导出的嵌入物708。导出的嵌入物708表示基于由输入数据702a-702n表示的音乐种子生成的潜在空间中的嵌入物。导出的嵌入物708然后可以被解码(类似于上述生成操作512)以产生导出的音乐内容,该音乐内容可以被播放给一个或多个用户。
[0102]
如这里所示,由至少一个递归神经网络706为至少一组输入数据生成的输出可以以前馈方式提供,用于处理附加的输入数据组。这可以帮助至少一个递归神经网络706生成通常彼此一致(而不是明显不同)的导出音乐内容的不同部分。实际上,从输入数据702a-702n产生的嵌入物704可以用于训练至少一个递归神经网络706。应当注意,虽然这里示出了使用至少一个递归神经网络706,但是可以使用任何其他合适的生成机器学习模型。
[0103]
再次注意,虽然单个电子设备101、102、104在此被描述为由至少一个用户使用,但是图6和7所示的应用600可以使用多个电子设备101、102、104来执行。例如,可以经由第一电子设备101、102、104接收用户输入602,并且可以经由第二电子设备101、102、104播放音乐内容。第二电子设备101、102、104可以以任何合适的方式被识别,例如基于先前的配置或基于用户输入602。
[0104]
图8、9和10示出了用于机器学习的第三示例应用800,其被训练来根据本公开识别有效的音乐特征。特别地,图8、9和10示出了第三种示例方式,其中机器学习模型(可以如上所述进行训练)可以用于执行特定的最终用户应用。图8、9和10中所示的应用800可以用在图1的网络配置100中,例如当使用图1的网络配置100中的至少一个服务器106和至少一个电子设备101、102、104来执行应用800时。然而,注意,应用800可以使用任何其他合适的设备并且在任何其他合适的环境中执行。
[0105]
如图8所示,用户可以提供初始输入话语802,在该示例中,初始输入话语802请求回放特定类型的音乐(例如古典音乐)。输入话语802被提供给基于云的平台,并由asr和类型分类器功能404处理,该asr和类型分类器功能404可以确定静态功能406应该用于生成对输入话语802的响应。这导致标准响应410,例如回放某种形式的古典音乐或其他请求的音乐内容。
[0106]
如图9所示,用户可能对标准响应410不满意,并且可能提供随后的输入话语902,在该示例中,输入话语902基于用户提供的听觉数据请求音乐内容的回放。输入话语902被提供给基于云的平台,并由asr和类型分类器功能404处理,其可以确定连续功能408应该用于生成对输入话语902的响应。
[0107]
非语言用户输入912被提供给用户的电子设备101、102、104,例如以音乐表演或其他非语言输入声音的形式。这里的非语言用户输入912不需要表示特定的预先存在的歌曲,而是可以以用户希望听到的特定风格即兴创作。电子设备101、102、104的一个或多个分析功能914可以将非语言用户输入912转换成一个或多个嵌入物,例如以与图5所示和上述相同或相似的方式。一个或多个嵌入物被用于确定一个或多个辅助动作916,在该示例中,辅助动作916包括播放类似于用户输入912的古典音乐或其他相关音乐内容(例如通过电子设备101、102、104的扬声器190)。例如,用户输入912的一个或多个嵌入物可以用于识别潜在特征空间中距离用户输入912的嵌入物最近的一个或多个嵌入物,并且与潜在空间中的一个或多个识别的嵌入物相关联的音乐内容可以被识别并向用户播放。
[0108]
图10示出了分析功能914和辅助动作916可以如何发生的一个示例。如图10所示,用户输入912被提供给经过训练的机器学习模型1002,其可以代表图2的系统200或图3的系统300。经过训练的机器学习模型1002使用用户输入912来生成至少一个嵌入物1004,这可以以上述方式发生。该至少一个嵌入物1004用于搜索学习的潜在空间1006,该空间包含其他音乐内容的嵌入物1008。这里的搜索可以例如(根据欧几里德、余弦或其他距离)寻找与嵌入物1004最接近的一个或多个嵌入物1008’。一个或多个识别的嵌入物1008’可以用于检索或生成音乐内容1010,该音乐内容1010经由呈现功能1012向用户播放。这样,可以识别与用户输入912相似(基于感知相关的音乐特征)的音乐内容,从而允许向用户播放的音乐内容基于用户输入912并与之相似。
[0109]
再次注意,虽然单个电子设备101、102、104在这里被描述为由至少一个用户使用,但是图8、9和10中所示的应用800可以使用多个电子设备101、102、104来执行。例如,可以经由第一电子设备101、102、104接收输入话语802、902,并且可以经由第二电子设备101、102、104播放音乐内容。第二电子设备101、102、104可以以任何合适的方式被识别,诸如基于先前的配置或者基于输入话语802、902。
[0110]
尽管图4、5、6、7、8、9和10示出了被训练来识别有效音乐特征的机器学习的应用示例,但是可以对这些图进行各种改变。例如,已经被训练来识别有效音乐特征的机器学习可以以任何其他合适的方式使用,而不脱离本公开的范围。本公开不限于这些图中呈现的特定最终用户应用。
[0111]
图11和12示出了根据本公开的用于机器学习以识别有效音乐特征的示例方法1100和1200。特别地,图11示出了用于训练图2所示的机器学习模型的示例方法1100,图12示出了用于训练图3所示的机器学习模型的示例方法1200。图11和12所示的方法1100和1200中的每一个都可以在图1的网络配置100中执行,例如当方法1100或1200由图1的网络配置100中的服务器106执行时。然而,注意,方法1100和1200中的每一个都可以使用任何其他合适的设备并且在任何其他合适的环境中执行。
[0112]
如图11所示,机器学习模型的训练发生在多个阶段1102和1104。在第一阶段1102,在步骤1106,基于音乐内容的相似性度量来训练嵌入生成器。这可以包括,例如,服务器106的处理器120使用标准或其他合适的dssm训练技术来训练嵌入生成器202。在这个阶段1102期间,可以基于欧几里德距离、余弦距离或其他距离度量来训练嵌入生成器202。此外,在softmax函数中也可以包含负样本。总的来说,在这个阶段1102期间,可以训练嵌入生成器202通过最小化损失函数224来学习其参数。
[0113]
在第二阶段1104,通过在步骤1108训练对抗鉴别器来区分生成的和采样的嵌入物,并在步骤1110训练嵌入生成器来试图欺骗对抗鉴别器,从而对抗地训练机器学习模型。这可以包括,例如,服务器106的处理器120使用gan训练过程。这里,对抗鉴别器216被训练来区分来自嵌入生成器202的生成嵌入物212a-212c和从q(z)采样的嵌入物。此外,嵌入生成器202被训练成欺骗对抗鉴别器216。结果,在步骤1112,对抗鉴别器被用来迫使嵌入生成器产生的嵌入物具有预定分布。这可以包括,例如,嵌入生成器202和对抗鉴别器216被训练,从而对抗鉴别器216使得嵌入生成器202产生看起来好像它们已经从预定义分布p(z)被采样的嵌入物。
[0114]
在步骤1114,确定是否重复训练阶段。这可以包括,例如,服务器106的处理器120确定上述等式(3)中的损失是否已经收敛。作为特定示例,这可以包括服务器106的处理器120确定在通过阶段1102和1104的一次或多次迭代中,上述等式(3)中计算的损失值是否保持在阈值量或彼此的阈值百分比内。如果不是,过程返回到第一训练阶段1102。否则,在步骤1116,生成并输出训练的机器学习模型。此时,训练的机器学习模型可以投入使用,例如用于一个或多个最终用户应用,如音乐内容识别、音乐内容排名、音乐内容检索和/或音乐内容生成。
[0115]
如图12所示,机器学习模型的训练发生在多个阶段1202和1204。在第一阶段1202,在步骤1206,训练包括邻接鉴别器的分类器来区分相关和不相关内容。这可以包括,例如,服务器106的处理器120训练分类器324来识别嵌入物312a-312b是相关的(当嵌入物312b用于正输入数据310b时)还是不相关的(当嵌入物312b用于负输入数据310b时)。如上所述,分类器324的邻接鉴别器可以处理组合嵌入物,例如当每个组合嵌入物表示嵌入物312a和连接嵌入物312b时。作为特定示例,在一些实施例中,可以使用具有两个类别的交叉熵来训练分类器324。
[0116]
在第二阶段1204,通过在步骤1208训练对抗鉴别器来区分生成的和采样的嵌入物以及在步骤1210训练嵌入生成器来试图欺骗对抗鉴别器,来对抗地训练机器学习模型。这可以包括,例如,服务器106的处理器120使用gan训练过程。这里,对抗鉴别器316被训练来区分来自嵌入生成器302的生成嵌入物312a-312b和从q(z)采样的嵌入物。此外,嵌入生成器302被训练成欺骗对抗鉴别器316。结果,在步骤1212,对抗鉴别器被用来迫使嵌入生成器产生的嵌入物具有预定分布。这可以包括,例如,嵌入生成器302和对抗鉴别器316被训练,从而对抗鉴别器316使得嵌入生成器302产生看起来好像它们已经从预定义分布p(z)被采样的嵌入物。
[0117]
在步骤1214,确定是否重复训练阶段。如果不是,过程返回到第一训练阶段1202。否则,在步骤1216,已经生成并输出训练的机器学习模型。此时,训练的机器学习模型可以投入使用,例如用于一个或多个最终用户应用,如音乐内容识别、音乐内容排名、音乐内容检索和/或音乐内容生成。
[0118]
尽管图11和12示出了用于机器学习以识别有效音乐特征的方法1100和1200的例子,但是可以对图11和12进行各种改变。例如,虽然显示为一系列步骤,但是每个图中的各个步骤可以重叠、并行发生、以不同的顺序发生或者发生任意次数。此外,可以使用任何其他合适的技术来训练根据本公开的教导设计的机器学习模型。
[0119]
图13示出了根据本公开的使用被训练来识别有效音乐特征的机器学习的示例方
法1300。具体而言,图13示出了使用机器学习模型(可以如上所述进行训练)来支持至少一个最终用户应用的示例方法1300。这里使用的机器学习模型是通过训练具有一个或多个神经网络和一个或多个对抗鉴别器的机器学习系统而生成的,使得音乐特征在潜在空间中的多个嵌入物具有预定的分布。图13所示的方法1300可以在图1的网络配置100中执行,例如当方法1300由图1的网络配置100中的至少一个电子设备101、102、104(可能结合至少一个服务器106)执行时。然而,注意,方法1300可以使用任何其他合适的设备并且在任何其他合适的环境中执行。
[0120]
如图13所示,在步骤1302,获得与输入音乐内容相关联的非语言输入。这可以包括例如电子设备101、102、104的处理器120通过麦克风从至少一个用户接收非语言输入。在这些情况下,非语言输入可以表示与用户识别、伴奏、创作或播放音乐的请求相关联的音乐表演或声音。这也可以或替代地包括电子设备101、102、104的处理器120接收创作类似于现有音乐内容的音乐的请求。在那些情况下,非语言输入可以表示现有音乐内容的一个或多个嵌入物。如果必要,在步骤1304,使用训练的机器学习模型生成非语言输入的一个或多个嵌入物。这可以包括例如电子设备101、102、104的处理器120使用训练的机器学习模型将非语言输入的数字化版本投影到潜在的音乐空间中。
[0121]
在步骤1306,识别与输入音乐内容相关联的嵌入物相关的一个或多个嵌入物。这可以包括,例如,电子设备101、102、104的处理器120识别表示与输入音乐内容相关联的嵌入物的最近相邻的一个或多个嵌入物,例如通过使用训练的嵌入生成器202或302。如上所述,嵌入物之间的距离可以使用各种度量来确定,例如欧几里德、余弦或其他距离度量。
[0122]
输入音乐内容的一个或多个嵌入物和/或一个或多个识别的嵌入物用于执行期望的用户功能。在该示例中,这包括在步骤1308识别与一个或多个识别的嵌入物相关联的存储的音乐内容和/或生成导出的音乐内容。这可以包括,例如,电子设备101、102、104的处理器120识别与一个或多个所识别的嵌入物相关联的现有音乐内容,或者基于一个或多个所识别的嵌入物来创作导出的音乐内容。在步骤1310呈现存储的和/或导出的音乐内容。这可以包括例如电子设备101、102、104的处理器120通过至少一个扬声器190播放存储的和/或导出的音乐内容。
[0123]
尽管图13示出了使用被训练来识别有效音乐特征的机器学习的方法1300的一个例子,但是可以对图13进行各种改变。例如,虽然显示为一系列步骤,但是图13中的各个步骤可以重叠、并行发生、以不同的顺序发生或者发生任意次数。此外,根据本公开的教导设计的机器学习模型可以以任何其他合适的方式使用。如上所述,例如,该模型可以用于音乐内容识别、音乐内容排名、音乐内容检索和/或音乐内容生成。在某些情况下,相同的模型至少可以用于其中的两个功能。
[0124]
尽管已经参考各种示例实施例描述了本公开,但是本领域技术人员可以想到各种变化和修改。本公开旨在包括落入所附权利要求范围内的这些变化和修改。