CN116229922A - 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 - Google Patents
基于Bi-LSTM深度强化学习网络的鼓乐生成方法 Download PDFInfo
- Publication number
- CN116229922A CN116229922A CN202310202900.3A CN202310202900A CN116229922A CN 116229922 A CN116229922 A CN 116229922A CN 202310202900 A CN202310202900 A CN 202310202900A CN 116229922 A CN116229922 A CN 116229922A
- Authority
- CN
- China
- Prior art keywords
- network
- music
- lstm
- note
- actor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000002787 reinforcement Effects 0.000 title claims abstract description 38
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 28
- 238000013135 deep learning Methods 0.000 claims description 7
- 230000033764 rhythmic process Effects 0.000 description 22
- 230000009471 action Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 239000011295 pitch Substances 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000001020 rhythmical effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- VKYKSIONXSXAKP-UHFFFAOYSA-N hexamethylenetetramine Chemical compound C1N(C2)CN3CN1CN2C3 VKYKSIONXSXAKP-UHFFFAOYSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/06—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
- G10H1/08—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by combining tones
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/38—Chord
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
- G10H7/04—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/08—Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/571—Chords; Chord sequences
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/311—Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/435—Gensound percussion, i.e. generating or synthesising the sound of a percussion instrument; Control of specific aspects of percussion sounds, e.g. harmonics, under the influence of hitting force, hitting position, settings or striking instruments such as mallet, drumstick, brush or hand
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种基于Bi‑LSTM深度强化学习网络的民间鼓乐生成方法,包括如下步骤:S100:将民间古乐表示成音符序列;S200:将所产生的音符序列通过编码技术转化成音符向量集;S300:将所述音符向量集输入到Bi‑LSTM神经网络中进行训练,生成基于字符级的Bi‑LSTM鼓乐生成网络;S400:基于强化学习Actor‑Critic算法对所述基于字符级的Bi‑LSTM鼓乐生成网络进行训练,得到基于Bi‑LSTM深度强化学习网络;S500:将输入的音符序列输入到所述基于Bi‑LSTM深度强化学习网络中,可以自主的生成鼓乐作品。本方法可以基本实现高质量、具艺术审美的西安鼓乐的生成,缓解西安鼓乐曲目缺乏问题。
Description
技术领域
本公开属于人工智能、神经网络技术领域,特别涉及一种基于Bi-LSTM深度强化学习网络的鼓乐生成方法。
背景技术
近年来,人工智能艺术,尤其是人工智能音乐变得流行起来,相关技术也变得触手可及。然而,大多数AI音乐生成器平台主要专注于创作现代音乐,未专注于民乐的创作,且生成策略只是根据训练保存的策略来选择下一个音符,由此生成的音乐容易生成不和谐的和声和旋律。
西安鼓乐兴盛于唐代,在民间已传承千年,2006年入选首批国家级非物质文化遗产名录,主要由中国传统的民族乐器演奏,被誉为是“中国古代音乐的活化石”和“中国古代的交响乐”。作为中国传统音乐的符号,西安鼓乐在新时期印证了中华音乐文化的博大精深与渊源悠久,不仅具有非遗的普遍性特点,也具有其特有的发展历程及艺术价值。
目前音乐生成的方法主要有基于马尔可夫模型的音乐生成和基于神经网络的音乐生成。随着深度学习技术的发展,涌现出越来越多基于神经网络的音乐生成算法,如使用循环神经网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short-TermMemory,LSTM)以及生成对抗网络(Generative Adversarial Networks,GAN)的音乐生成。
但与人工智能相关的作曲算法在使用的过程中也仍存在着各自的优势和不足。如大多单一算法作曲生成的音乐缺乏感情色彩,风格体裁过于单一;未把专业的音乐知识加入到网络模型中;未考虑到和弦和乐理规则对音符选择的影响;没有注重网络模型创新性等问题,而且目前主要是针对西方音乐创作的研究,而针对非西方音乐尤其中国民族民间音乐的自动创作的研究还处于初级阶段。常规的深度学习LSTM音乐生成网络模型在音乐生成中大都没有考虑乐理规则和西安鼓乐面临的曲目稀缺,作曲困难的问题。
发明内容
鉴于此,本公开提供了一种基于Bi-LSTM深度强化学习网络的民间鼓乐生成方法,包括如下步骤:
S100:将民间古乐表示成音符序列;
S200:将所产生的音符序列通过编码技术转化成音符向量集;
S300:将所述音符向量集输入到Bi-LSTM神经网络中进行训练,生成基于字符级的Bi-LSTM鼓乐生成网络;
S400:基于强化学习Actor-Critic算法对所述基于字符级的Bi-LSTM鼓乐生成网络进行训练,得到基于Bi-LSTM深度强化学习网络;
S500:将输入的音符序列输入到所述基于Bi-LSTM深度强化学习网络中,可以自主的生成鼓乐作品。
通过上述技术方案,根据西安鼓乐自身鲜明的中国古代音乐特点,基于强化学习中的Actor-Critic算法,提出在模拟生成阶段通过奖惩得分构建生成策略改进方法。为了让模型能够充分考虑到真实的民间鼓乐创作过程,针对西安鼓乐独特的音高、和弦、调式等创作理论风格,将一定和弦进行和乐理规则等抽象概念约束转换成计算机语言。通过构建和弦进行奖励机制和乐理规则奖励机制,利用全局的价值回报来实现鼓乐的和谐性约束,实现系统化的鼓乐生成。基于Bi-LSTM深度强化学习模型可以基本实现高质量、具艺术审美的西安鼓乐的生成。
本方法使用Bi-LSTM神经网络构建字符级的民间鼓乐生成模型,将鼓乐表示成音符序列的形式进行处理,通过编码技术将其转化成音符向量输入到神经网络中。通过将下一时刻将要输入的音符序列当作目标值,构成一个监督学习的训练过程。
基于强化学习Actor-Critic算法和时间差分,提出在模拟生成阶段通过奖惩得分构建生成策略改进方法。为了让模型能够充分考虑到真实的民间鼓乐创作过程,根据西安鼓乐自身鲜明的中国古代音乐特点,通过构建一个全局的价值回报网络来更新鼓乐生成策略,利用全局的价值回报来实现鼓乐的和谐性约束,实现系统化的鼓乐生成。
在鼓乐生成阶段,提出对生成的音符进行模拟评估,为兼顾生成鼓乐的多样性和稳定性,依据设定的乐理规则得分来对价值网络评估的产生结果来进行概率输出。
附图说明
图1是本公开一个实施例中所提供的一种基于Bi-LSTM深度强化学习网络的民间鼓乐生成方法流程图;
图2是本公开一个实施例中民间鼓乐生成流程图;
图3是本公开一个实施例中不同神经元个数对训练效果的影响对比图;
图4(a)是本公开一个实施例中音符个数统计图;
图4(b)是本公开一个实施例中音符占比统计图;
图4(c)是本公开一个实施例中节奏时长占比统计图;
图5(a)是本公开一个实施例中常规训练LSTM生成音乐分布图;
图5(b)是本公开一个实施例中一种基于Bi-LSTM深度强化学习网络的民间鼓乐生成方法生成音乐分布图。
具体实施方式
为进一步描述本发明,下面结合附图1至图5(b)对其作进一步说明。
参见图1,在一个实施例中,其公开了一种基于Bi-LSTM深度强化学习网络的民间鼓乐生成方法,包括如下步骤:
S100:将民间古乐表示成音符序列;
S200:将所产生的音符序列通过编码技术转化成音符向量集;
S300:将所述音符向量集输入到Bi-LSTM神经网络中进行训练,生成基于字符级的Bi-LSTM鼓乐生成网络;
S400:基于强化学习Actor-Critic算法对所述基于字符级的Bi-LSTM鼓乐生成网络进行训练,得到基于Bi-LSTM深度强化学习网络;
S500:将输入的音符序列输入到所述基于Bi-LSTM深度强化学习网络中,可以自主的生成鼓乐作品。
在这个实施例中,借助于强化学习Actor-Critic算法与音乐规则相结合的方法对模型进行训练。经生成网络学习信息后,更新网络参数,提高生成鼓乐质量。音乐理论规则的添加促使生成的音乐更具结构,风格更加明显。该方法在节奏性、可听性、流畅度及符合音乐规则等方面与现有的一些技术相比具有显著优势,可以有效的生成西安鼓乐片段,缓解西安鼓乐曲目缺乏问题。
经过Actor-Critic网络训练完成之后,假设模型能够从音乐数据中学习到所有时间尺度上的音符依赖关系,并根据学到的依赖关系构建生成策略,从而使模型能够自主的生成新的音乐作品。在鼓乐生成实验中,需要给网络模型输入一段音符序列片段,当作上下文信息,然后网络每次读入一个音符序列,可以根据之前生成的音符和生成策略来预测下一个音符,输出长度为L的音符序列,最终将输出的音符序列经过反向处理转化为MIDI格式的鼓乐片段。
在另一个实施例中,所述基于Bi-LSTM深度强化学习网络包含一个Bi-LSTM深度学习网络和一个强化学习网络。
就该实施例而言,其中Bi-LSTM深度学习网络包含3个双向LSTM层,每层128个神经元。强化学习网络包括Actor网络(将Bi-LSTM深度视为Actor网络)和Critic网络(由乐理规则和状态价值构建)。通过实验多次找到合适的网络层数、神经元个数和激活函数等,确保结果最优。其次训练次数为人为设置,训练过程中会核对每一轮训练后的参数,包括损失函数、训练次数等,可以随时发现异常终止。
基于LSTM的音乐生成模型主要利用其能够记忆序列中不定时间长度的依赖信息的优点,因为音乐中音符之间是存在依赖关系的,通过LSTM网络就能学习到音符序列之间的长期依赖关系。如MagentA框架中的MelodyRNN模型通过大量的音乐数据集对LSTM网络进行训练,最终通过给定一些初始的音符或者将一段初始的MIDI格式的音乐片段输入到网络中作为初始化音符,模型根据初始化的音符生成固定节奏的旋律。一般基于LSTM的模型,除了特殊处理外,一个LSTM网络只能生成单独的音符序列或者节奏序列,同时生成音符和节奏的网络,一般都是通过特殊处理,如MagentA中的PolyphonyRnn模型,通过在序列生成中增加一些特殊事件来实现,或者通过增加LSTM网络的数量来实现。
在LSTM单元中有三种类型的门:遗忘门、输入门和输出门。遗忘门是通过sigmoid激活函数将上一层的输出ht-1和本层要输入的xt的线性运算映射得到取值在[0,1]区间的输出ft,用于筛选过滤上一时刻的状态信息,1是信息“完全保留”,0是信息“完全舍弃”。遗忘门将无用的信息传递给未来的细胞之前丢弃它们[16]。遗忘门的公式如下:
ft=σ(Wf*[ht-1,xt]+cf)
上式中,Wf是权重矩阵,cf为偏置。
输入门的输出由两部分组成,分别是将上一层的输出ht-1和本层要输入的xt的线性运算分别通过sigmoid激活函数和tanh激活函数得到输出it和C′t。用公式表示it和C′t如下:
it=σ(Wi*[ht-1,xt]+ci)
C′t=tanh(Wk*[ht-1,xt]+ck)
其中,Wi和Wk为权重矩阵,ci和ck为偏置,由上面三个公式可以更新这一时刻的细胞状态Ct:
Ct=ft*Ct-1+it*C′t
输出门根据当前时刻的细胞状态决定最终的输出ht,首先通过sigmoid激活函数得到一个[0,1]区间的取值Ot,然后将细胞状态Ct通过tanh激活函数后与Ot相乘得到最后输出ht。其中,W0是权重矩阵,co为偏置,数学表达式如下:
Ot=σ(W0*[ht-1,xt]+co)
ht=Ot*tanh(Ct)
双向循环神经网络(Bidirectional Recurrent Neural Network,Bi-RNN)是在1997年由Schuster等人提出,为了弥补经典的单向循环神经网络只能在序列数据中捕捉到当前和过去时刻的信息,而无法获取到后面时刻的数据信息的缺陷,在很多应用场景中,对一个问题的预测,不仅要考虑当前状态信息和过去的状态信息,还要考虑未来的状态信息,即通过对序列上下文语义分析,得出当前时刻的预测结果。
双向LSTM模型(Bidirectional Long Short-Term Memory,Bi-LSTM)是一个包含两个反向传递数据的LSTM层的系统。系统的每个输出都接收来自向后层和向前层的隐藏状态的信息。与单向LSTM相比,双向LSTM不仅学习过去的信息,也学习未来的信息。这个特性允许模型更准确地预测序列信息。每个时间步的输出可以导出如下:
乐曲是由许多音符按照一定的规则构成,音乐旋律生成问题从本质上看是一个序列生成问题,又由于输出的格式的不同可细分为:连续数据序列生成问题和离散数据序列生成问题。当前通常以MIDI格式输出,因而把它视为离散数据序列生成问题。
利用单向LSTM建立作曲模型时常会遇到一个无法从后向前学习的问题。而Bi-LSTM正好可以解决这个问题,Bi-LSTM在处理长时间序列前后关联问题有着较好的效果,用于音乐序列生成可以捕捉到上下文音乐间的依赖,因此综合来看,考虑到音乐作曲规则以及硬件的计算能力和时间成本,本方法在构造鼓乐生成网络时采用的是Bi-LSTM神经网络。
本方法的第一步是得到经过训练的深度双向LSTM民间鼓乐生成网络的权值参数,为后续的深度强化学习Actor网络和Critic网络初始化提供初始参数,这样子能使让二者具备经过常规训练之后的Bi-LSTM鼓乐生成网络的权值参数。基于Bi-LSTM深度强化学习模型包含3个双向LSTM层,每层128个神经元。神经网络的输入为向量形式,所以需要先将民间鼓乐数据进行预处理得到的输入向量Xn输入网络中。
根据输入序列和网络特性,LSTM模型从给定序列和它们的下一个预测中学习,因此需要一个额外的过程来构建一系列序列及其相应的输出(下一个预测)。通过输入序列的前m个音高或和弦输入,预测第m+1个输出音高,然后将输入的音高序列向后平移一个音高距离,再预测第m+2个音符,进行多次迭代训练后,得到误差最小的最佳训练模型。本方法将序列长度设置为50。程序先将存储前50个音符或和弦,然后根据在输入序列数组中构建的唯一音符-和弦字典将它们转换为整数。最后一个序列的下一个相应的音符或和弦被存储在输出数组中。检索所有的音符和和弦序列,输出数组中的每个元素都在0到1之间规范化,以方便后面的训练过程。
为了得到音符在一定状态下被选择的概率,本方法在Bi-LSTM单元之后增加了SoftMax层,SoftMax函数标准化可以保证单元的值总和为1,可以将Bi-LSTM的单元输出解释为音符的概率分布,以此得到整个网络在当前时刻的预测值P′t:
P′t=S[V,ht]
其中,S表示SoftMax函数,V是输出层的权值矩阵。得到预测值P′t之后可以构建网络的损失函数,用来更新网络的模型参数。
在另一个实施例中,步骤S300进一步包括如下步骤:
S301:定义网络参数θB并初始化;
S302:选取当前时刻t的音符向量Xn输入网络;
S303:取得网络的预测值P′t,设置目标值Pt;
S304:通过最小化交叉熵损失函数H(θB)训练网络参数θB;
S305:选取下一时刻作为当前时刻继续执行步骤S302至S304,直到网络收敛为止,输出网络参数θB。
就该实施例而言,具体的流程算法如算法1所示:
在另一个实施例中,步骤S304中的最小化交叉熵损失函数为:
其中,θB是Bi-LSTM的网络参数,L是设定的音乐长度,P′t为当前时刻的预测值,Pt为当前时刻的目标值。
就该实施例而言,损失函数是深度学习网络模型的重要组成部分,能够帮助深度学习网络模型学习特征信息在维度空间的联系,让网络完成预期的任务。因此,在得到网络的预测值P′t之后,本文将下一时刻将要输入的音符向量Xn+1当作当前时刻的目标值Pt,这样就构成了一个监督学习环境。由于本文的输出层是SoftMax层,输出的是音符的概率分布,因此使用交叉熵构建损失函数:
其中θB是Bi-LSTM的网络参数,L是设定的音乐长度,Bi-LSTM网络可以根据损失函数进行误差反向传递,进而更新网络参数。
在另一个实施例中,步骤S400中的Actor-Critic算法中,将基于字符级的Bi-LSTM鼓乐生成网络看作为Actor网络,用于生成音符序列并接受设定的任务分数,根据接收的分数再次更新生成策略,优化生成结果。
就该实施例而言,本方法借鉴强化学习Actor-Critic算法的思想和术语在常规训练的基础上给予生成网络一种模拟生成阶段的训练方式。强化学习针对的是基于弱监督的有效行动问题,其方式是对智能体(agent)的行为给予奖励,从而控制agent的行动达到最优的效果。Actor-Critic(A-C)算法不仅有着强化学习的诸多优点,在收敛性上也强于基于值迭代的算法。与此同时,Actor-Critic算法既能针对连续动作进行处理,又能实现单步更新,在这一点上更是优于传统上基于策略梯度的算法。所以在模型中选择Actor-Critic算法来学习音乐生成的策略问题。
在Actor-Critic算法中,其中,Actor为策略网络,负责动作的选择并与环境进行交互,而Critic为价值函数网络,负责评估Actor网络的优劣,对Actor网络进行优化。Critic网络是对价值函数的近似,Actor网络是对策略函数的近似。Critic网络会根据Actor网络的输出动作给出一个任务分数,即时间差分TD。Actor网络根据时间差分更新自己的生成策略,从而使生成的动作更加符合当前的环境和状态。
由于强化学习中智能体每走一步都需要获取回报值来对当前采取的动作进行价值评估,而音乐生成的环境中并没有能够给出价值回报值的机制,所以本方法首先通过音符数据集对Bi-LSTM网络进行训练,将基于字符级的Bi-LSTM鼓乐生成网络看作为Actor网络,其作用是生成音符序列并接受设定的任务分数,根据接收的分数再次更新生成策略,优化生成结果。Actor网络和Critic网络由步骤S300得到的权值参数进行初始化。具体流程如图2所示。
在另一个实施例中,步骤S400中的Actor-Critic算法中,根据音乐理论规则得分来构建Critic网络,用于对Actor网络生成的音符进行打分,将特定的任务分数设置为时间差分TD。
就该实施例而言,本方法将特定的任务分数设置为时间差分TD,由LSTM网络和音乐乐理知识理论规则共同构成Critic网络输出,构建基于乐理规则的回报,该网络的主要作用是对Actor网络生成的音符进行打分。
在另一个实施例中,所述时间差分TD表示为:
就该实施例而言,为了评估Actor网络生成音符的优劣并对其进行优化,根据音乐理论规则得分来构建Critic网络。在Actor-Critic算法中任务分数为时间差分TD,是一种无模型的强化学习方法。而本方法借用其思想和术语构成基于模型的动态规划方法,利用状态价值和音乐理论规则共同构成时间差分TD。
为了增加模型的创新能力,让模型能够考虑到作曲家在创作音乐时的想象力和创造力,本方法构建了状态价值奖励机制。该层机制主要来源于真实的音乐数据,同时该机制的加入也可以用来判断的当前时刻生成的音符对之后生成音乐的影响,以此来提供Actor网络当前时刻生成音符的合理性。把已生成的音符和LSTM的内部状态即通常说的“细胞状态”看作状态把生成的音符看作被选择的动作at,执行该动作后进入下一时刻的状态
生成策略是通过真实音乐数据训练模型之后得到的,它反应了真实的鼓乐生成中作曲家选择音符的情况。生成策略中每个音符被选择的概率是不一样的,越是有价值的状态,它形成的生成策略中每个音符被选择概率的差异越大,但如果一个状态形成的生成策略中每个音符被选择的概率都十分接近,则说明该状态和真实音乐数据之间有很大的差距,那么我们就认为该状态是无价值的。因此,在同一状态下每个音符被选择的概率是不同的,为了让模型更加严格的遵循从数据中学习到的规律,避免因先前错误的猜测而继续发生更大的错误,设置在同一状态下SoftMax层音符被选择概率的方差为该状态的价值。设状态下,每个音符被选择的概率为Pi,其中i=1,2,3…n,Ep为该状态下音符被选择概率的均值,那么由此可以得到状态的价值V:
Critic网络的模型参数在训练过程中保持不变,目的是让网络始终保持从真实音乐数据中学习到知识。从Actor网络中分别提取当前时刻状态以及选择音符at,之后形成的一个新状态输入到该层机制中得到当前状态的价值和下一时刻的状态价值和音乐理论规则得分共同构成时间差分TD。
TD看作状态价值奖励机制的反馈分数,状态价值奖励机制的加入,不仅提高了模型的创造力,而且也提高了生成音乐的质量。
在另一个实施例中,其中音乐理论规则包含检查音符重复出现,音域范围,相邻音符之间的音程差,结尾音是否为主音,是否为和弦,中位线的选取。
就该实施例而言,现有的音乐生成算法,其生成的音乐在某一时刻存在着音符一直重复出现的现象,而且有很多相邻音符之间的音程差大于八度等,这些现象的出现严重影响音乐的质量和艺术审美,同时也预示着音乐生成模型并没有学到乐理规则相关的知识。为了给予更真实的生成反馈,本方法在Critic网络增加了音乐理论规则部分。为了得到符合乐理知识的音乐,本方法将乐理规则数学模型化,将理论型的文字描述转化成了数学公式的形式,按照乐理知识在音乐中的重要程度反馈给生成网络不同的奖惩值,从而以乐理规则引导音乐生成。
不同类型的音乐所遵循的乐理规则是不同的,音乐的种类有很多,本方法的对象是民间鼓乐,因此,整理的都是关于民间鼓乐的乐理规则。乐理规则对音乐的主音有着很强的限制作用,本方法将借鉴音集理论思想,结合民间鼓乐特点,运用到动机鼓乐旋律创作中来。通过收集分析民间鼓乐的特征发现,三音列组是构成鼓乐旋律风格主要因素之一,这些三音列不断地贯穿在乐曲旋律当中,随着旋律的运动延伸,不同的三音列组合,构成不同的主题色彩,使得旋律呈现出不同的风格特点。
下面将逐个介绍本方法构造的乐理规则奖励机制:
1.音乐需要变化才显得生动,而音符大量的重复出现会严重影响音乐的生动性和流畅性,给人耳一种很差的音乐体验。因此,在创作音乐时,音符重复出现的次数不能高于4次。假设音乐生成网络在当前时刻选择音符为at,该机制会检测音符at之前生成的3个音符at-1,at-2,at-3。
2.为了提高生成音乐的质量,一首乐曲中出现的音符不能高于或者低于事先设定的音域范围,在下面公式中,amin和amax为事先设定的最低音和最高音。
3.八度是指两个相邻音组中具有同样名称的两个音之间的关系。民间鼓乐不同于摇滚音乐和流行音乐需要很强烈的变化,在民间鼓乐的创作中,为了让音乐进行的节奏相对和谐、舒缓,作曲家会编排两个相邻音之间的音程差尽量小于八度。八度是音乐上的一个专业术语,本方法采用的是十二平均律音高记法,因此,一个八度也就是音程之间相差12。本方法根据两个相邻音符之间的音程差应小于八度的限制。
4.为了让音乐更加稳定、饱满,其结尾音须为该音乐的主音,主音就是一首音乐调式中核心音,如C宫调式,其主音为C。假设生成的音乐为C宫调式,aend为音乐的结尾音,则有:
5.和弦是指具有一定音程关系的一组声音。在真实的音乐创作中,很多作曲家是根据和弦进行来编排音乐的,因为和弦有固定的进行方式,利用和弦进行创作音乐相比于灵感创作速度更快、质量更好。在一个小节中强拍位置上的音须为和弦内音,和弦内音是构成和弦的音,民间鼓乐多数和弦为三和弦,也就是三个音组成的和弦。在强起的音乐中奇数拍的位置大多数都是强拍。假设t时刻的和弦内音为生成网络所选择的音符为at,则有:
6.音乐创作者明确指出在创作音乐的时候会人为设置一个中位线,然后根据中位线来选择旋律音符,这样既方便了音乐的创作,也提高了编曲效率。中位线一般选取为和弦内音,旋律音的选取位于中位线相差6个音程的范围内,假设t时刻中位线为则有:
在另一个实施例中,步骤S400进一步包括如下步骤:
S401:初始化Actor网络和Critic网络;
S402:向Actor网络中输入一个随机音符向量;
S406:Actor网络接收时间差分TD,更新Actor网络参数θA;
S407:选取下一时刻作为当前时刻继续执行步骤S402至S406,直到损失函数loss值收敛为止,输出Actor网络参数θA。
就该实施例而言,Actor-Critic训练过程见算法2。
在另一个实施例中,所述损失函数为
上述的公式构建完成之后,就可以更新模型,让鼓乐生成网络能够学习和弦进行和乐理规则对音符选择的约束。
在另一个实施例中,为了减少表示方法中出现冗余的现象,需要对音乐数据进行了标准化处理。首先将每首音乐数据都转移到C大调上,并从音乐数据库中挑选4/4拍节奏的音乐,用于统一变量。所有民间鼓乐训练数据是从民间各大鼓乐社处或公开资源获取。
在音乐的整体结构中,音符是音乐最基本的组成单元,为了让计算机能够理解音乐,本方法将音乐看成一组音符序列的形式进行处理。使用Python工具包中的集成模块Pretty-Midi,将MIDI音乐中的音符信息以序列的形式提取出来,此处的音符序列本文定义为音符的音高信息。MIDI音乐中关于音高的编号有128个,因此,本方法用0-127表示音符信息,如m={x1,x2,...,xn}.由于神经网络的输入数据是向量形式,因此需要对音符序列进行编码处理。本方法使用One-Hot编码对音符序列进行向量化处理。
One-Hot是将分类信息转换成二进制形式的过程,表示在特定的时间步长中,只有该信息的值(1)大于其他无关信息的值(0)。例如,在特定的时间步t中,音符“C4”被播放,那么时间步t上的数据向量将在该向量的特定位置包含一个1。由于音符和和弦是分类存储在所有MIDI文件中,所有这些信息都将通过One-Hot编码进行处理,以提高模型训练的性能。One-Hot编码把输入音符序列xn转化为输入音符向量Xn。音符的编号有128个,所以得到的输入向量Xn有128维。
在另一个实施例中,为了验证不同参数对实验的影响,本方法进行了不同LSTM单元数对Loss值收敛程度的影响实验,设置LSTM单元数分别为64、128、256、512,输出各自训练过程中的Loss值,为了方便观察经过平滑处理得到图3。从图3可知,增加LSTM的单元数能够提升网络的学习能力,但会增加相应的训练时间。神经元个数越多,网络学习数据集本质和抽象化数据特征的能力越强,越能有效地减少预测值与目标值之间的误差。隐藏层维数的大小对生成的音乐质量有非常重要的影响。但使用更深层、更宽的神经网络在训练阶段需要更多的计算量。
在另一个实施例中,为了验证节奏生成模型的有效性,本方法通过从自制数据集中抽取的节奏数据对模型进行训练,并从生成的节奏序列中随机挑选出四个节奏片段进行分析。由于节奏生成关注的是音符时值而不是音的高低,所以节奏生成中将音符统一设置为C4,速度设置为120BPM。
通过对节奏片段的分析可知,生成的节奏片段中包含了十六分音符、八分音符、四分音符、二分音符和全音符等常用的音符时长,以及附点节奏、切分节奏、前八后十六、前十六后八等常用的节奏型。以上这些元素在真实歌曲中都比较常见且属于比较有节奏感的节奏型。可见节奏生成模型能够学到真实歌曲中一些常用的节奏型特性。
图4(a)至图4(c)为对节奏生成模型生成的节奏序列中各类节奏时长出现的频次进行的统计,图4(a)为音符个数统计,图4(b)为音符占比统计,图4(c)为节奏时长占比统计,其中,时长2,4,8,16分别对应二分音符、四分音符、八分音符和十六分音符,出现最多的音符依次为八分音符、四分音符、十六分音符和二分音符。八分音符占比为49.6%,四分音符占比为42.7%,十六分音符占比为7.8%,二分音符5.5%,其他音符3.1%。可见大部分生成的节奏时长为八分音符、四分音符和十六分音符,其他音符出现频次较少。而训练数据集中的歌曲大部分为4/4拍的,其中大量使用了十六分音符、八分音符、四分音符和二分音符,真实的歌曲中十六分音符、八分音符和四分音符和二分音符等都是很常用的音符。可见节奏生成模型生成的节奏序列中音符时长的统计特性与真实歌曲中音符时长的统计特性也比较相近。
在另一个实施例中,本方法是对基于字符级Bi-LSTM鼓乐生成网络训练方式的改进,为了表明本方法的有效性,对比的网络是经过常规训练的基于字符级LSTM的音乐生成网络。该网络和本方法通过相同的实验环境设置,各生成300首鼓乐作为测试样本。
十二平均律是一种音乐定律方法,其将一个纯八度音平均分成十二等分,每等分称为半音,是最主要的调音法。提取两组测试样本中的十二平均律音符使用次数,并计算其统计分布,结果如图5(a)至图5(b)所示。图5(a)为常规训练LSTM生成音乐分布图,图5(b)为本方法生成音乐分布图。
由图5(a)可以看出,经过常规训练的LSTM生成的测试样本中C、D、E、G、A、B音出现的次数多,剩余的音符几乎没有出现,而图5(b)显示本方法生成的音乐每个音符所占的比例相差不大。对比结果可以证明本方法在生成音乐时选择的音符种类较多,即生成的音乐曲调更为丰富。
在另一个实施例中,为了验证模型网络的学习能力,即从真实的音乐数据中学到音符之间依赖关系的能力,进行了音符预测准确率实验。将样本音乐中的后M个音符序列剔除,然后将其输入到训练完成的网络,用于生成被剔除的M个音符,和原本的音符进行比较。音符预测准确率越高,说明模型学到的依赖关系越多。假设am,a′m分别表示为生成的音符和样本音符,其中i为测试的样本数量,音符预测准确率可表示为:
将M设置了三个数值分别为10、15和20,将结果统计如表1所示,从表1可知网络能够从音乐数据中学到音符之间的依赖关系。
表1
虽然生成的音乐和训练集中的音乐是不同的,但在某些时间尺度上会呈现出和训练数据中相同的特征,这表明基于Bi-LSTM鼓乐生成网络拥有从训练数据中学习音符之间依赖关系的能力。
在另一个实施例中,为了检测鼓乐生成模型中乐理规则奖励机制加入的有效性,定量了乐理规则的表现形式,进行了乐理特征对比实验。从生成的测试样本音乐中提取六个有效的特征信息,对比已知的音乐规则,计算统计数据,结果如表2所示。
特征 | 常规训练LSTM | 本文方法 |
音符过度重复 | 63.3% | 20.1% |
音符不在调上 | 10.1% | 3.0% |
音程相差小于八度 | 77.2% | 92.1% |
音符与中位线相差小于6 | 64.7% | 75.2% |
表2
可以看出,本方法生成的音乐有效避免了音符过度重复和音程跨度过大等现象,对比经过常规训练的LSTM有很明显的提升,较为符合音乐理论规则。
在另一个实施例中,为了验证本方法的可行性,将Google实验室的Magenta项目中提出的三个算法作曲模型及本方法作曲模型分别实验,将模型准确率和损失率进行对比。为了保证实验对比的客观性,对不同算法作曲模型实验都采用同一个MIDI数据集,迭代1000次。
如表3所示,是Magenta项目三个算法模型和本方法基于Bi-LSTM深度强化学习模型的准确率和损失率的对比结果:
表3
从表3可见,本方法相比其他三个模型,准确率是最高,损失率最小,可见本方法在特征表示及网络结构设计上对训练集有着较好的表现,适合从训练集中学习音符序列内部结构特征。本方法可以很好地学习到训练样本序列的内部结构关系,更适合用于生成具有典型民族风格的音乐。
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (10)
1.一种基于Bi-LSTM深度强化学习网络的民间鼓乐生成方法,包括如下步骤:
S100:将民间古乐表示成音符序列;
S200:将所产生的音符序列通过编码技术转化成音符向量集;
S300:将所述音符向量集输入到Bi-LSTM神经网络中进行训练,生成基于字符级的Bi-LSTM鼓乐生成网络;
S400:基于强化学习Actor-Critic算法对所述基于字符级的Bi-LSTM鼓乐生成网络进行训练,得到基于Bi-LSTM深度强化学习网络;
S500:将输入的音符序列输入到所述基于Bi-LSTM深度强化学习网络中,可以自主的生成鼓乐作品。
2.根据权利要求1的所述方法,优选的,所述基于Bi-LSTM深度强化学习网络包含一个Bi-LSTM深度学习网络和一个强化学习网络。
3.根据权利要求1的所述方法,步骤S300进一步包括如下步骤:
S301:定义网络参数θB并初始化;
S302:选取当前时刻t的音符向量Xn输入网络;
S303:取得网络的预测值P′t,设置目标值Pt;
S304:通过最小化交叉熵损失函数H(θB)训练网络参数θB;
S305:选取下一时刻作为当前时刻继续执行步骤S302至S304,直到网络收敛为止,输出网络参数θB。
5.根据权利要求1的所述方法,步骤S400中的Actor-Critic算法中,将基于字符级的Bi-LSTM鼓乐生成网络看作为Actor网络,用于生成音符序列并接受设定的任务分数,根据接收的分数再次更新生成策略,优化生成结果。
6.根据权利要求1的所述方法,步骤S400中的Actor-Critic算法中,根据音乐理论规则得分来构建Critic网络,用于对Actor网络生成的音符进行打分,将特定的任务分数设置为时间差分TD。
8.根据权利要求6的所述方法,其中音乐理论规则包含检查音符重复出现,音域范围,相邻音符之间的音程差,结尾音是否为主音,是否为和弦,中位线的选取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310202900.3A CN116229922A (zh) | 2023-03-06 | 2023-03-06 | 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310202900.3A CN116229922A (zh) | 2023-03-06 | 2023-03-06 | 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116229922A true CN116229922A (zh) | 2023-06-06 |
Family
ID=86572834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310202900.3A Pending CN116229922A (zh) | 2023-03-06 | 2023-03-06 | 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116229922A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116362418A (zh) * | 2023-05-29 | 2023-06-30 | 天能电池集团股份有限公司 | 一种高端电池智能工厂应用级制造能力在线预测方法 |
-
2023
- 2023-03-06 CN CN202310202900.3A patent/CN116229922A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116362418A (zh) * | 2023-05-29 | 2023-06-30 | 天能电池集团股份有限公司 | 一种高端电池智能工厂应用级制造能力在线预测方法 |
CN116362418B (zh) * | 2023-05-29 | 2023-08-22 | 天能电池集团股份有限公司 | 一种高端电池智能工厂应用级制造能力在线预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101854706B1 (ko) | 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 | |
Nakamura et al. | Statistical piano reduction controlling performance difficulty | |
Järveläinen | Algorithmic musical composition | |
Shah et al. | LSTM based music generation | |
CN111754962B (zh) | 基于升降采样的民歌智能辅助作曲系统及方法 | |
Zhou et al. | BandNet: A neural network-based, multi-instrument Beatles-style MIDI music composition machine | |
CN116229922A (zh) | 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 | |
Wang et al. | Jazz music generation based on grammar and lstm | |
Chuan et al. | Generating and evaluating musical harmonizations that emulate style | |
Siphocly et al. | Top 10 artificial intelligence algorithms in computer music composition | |
Siphocly et al. | Applications of computational intelligence in computer music composition | |
Ramoneda et al. | Automatic piano fingering from partially annotated scores using autoregressive neural networks | |
Li et al. | A novel Xi’an drum music generation method based on Bi-LSTM deep reinforcement learning | |
Yanchenko et al. | Classical music composition using state space models | |
Trochidis et al. | CAMeL: Carnatic percussion music generation using n-gram models | |
KR101934057B1 (ko) | 계층적 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 | |
Kan et al. | Generation of irregular music patterns with deep learning | |
Mohanty et al. | Temporally conditioning of generative adversarial networks with lstm for music generation | |
Hori et al. | Jazz piano trio synthesizing system based on hmm and dnn | |
Rajadhyaksha et al. | Music generation with bi-directional long short term memory neural networks | |
Mo et al. | A music generation model for robotic composers | |
Jun et al. | Application and Research of Monte Carlo Sampling Algorithm in Music Generation. | |
Su et al. | Folk melody generation based on CNN-BiGRU and Self-Attention | |
Xu et al. | Application of genetic algorithm in model music composition innovation | |
Zhang | Violin Etude Composing based on LSTM Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |