KR101193265B1 - 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체 - Google Patents

정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR101193265B1
KR101193265B1 KR1020077014275A KR20077014275A KR101193265B1 KR 101193265 B1 KR101193265 B1 KR 101193265B1 KR 1020077014275 A KR1020077014275 A KR 1020077014275A KR 20077014275 A KR20077014275 A KR 20077014275A KR 101193265 B1 KR101193265 B1 KR 101193265B1
Authority
KR
South Korea
Prior art keywords
level feature
feature variable
variable extraction
low level
extraction formula
Prior art date
Application number
KR1020077014275A
Other languages
English (en)
Other versions
KR20080069509A (ko
Inventor
요시유끼 고바야시
Original Assignee
소니 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20080069509A publication Critical patent/KR20080069509A/ko
Application granted granted Critical
Publication of KR101193265B1 publication Critical patent/KR101193265B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 악곡 데이터 등의 콘텐츠 데이터로부터 대응하는 특징량을 추출할 수 있는 알고리즘을, 고정밀도로 신속하게 생성할 수 있는 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것이다. 특징량 추출 알고리즘 생성 장치(20)는, m종류의 저레벨 특징량 추출식으로 이루어지는 저레벨 특징량 추출식 리스트를 n개 생성하는 저레벨 특징량 추출식 리스트 생성부(21), n개의 저레벨 특징량 추출식 리스트에 j곡분의 입력 데이터를 대입하여, 각 입력 데이터에 대응하는 m종류의 저레벨 특징량을 n조 얻는 저레벨 특징량 연산부(24), n조의 저레벨 특징량 출력과 대응하는 교사 데이터(j곡에 각각 대응하는 k항목의 고레벨 특징량)에 기초하여 고레벨 특징량 추출식을 학습에 의해 추정하는 고레벨 특징량 추출식 학습부(25)로 구성된다. 본 발명은, 악곡이나 영상의 고레벨 특징량을 취득하는 시스템에 적용할 수 있다.
Figure R1020077014275
저레벨 특징량, 고레벨 특징량, 악곡 데이터, 특징량 추출 알고리즘, 콘텐츠 데이터

Description

정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체{INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND COMPUTER READABLE RECORDING MEDIUM}
본 발명은, 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것으로, 특히, 예를 들면, 악곡 데이터 등의 콘텐츠 데이터의 특징량을 추출하는 알고리즘을 자동적으로 생성하도록 한 정보 처리 장치, 정보 처리 방법, 및 프로그램에 관한 것이다.
종래, 악곡 데이터를 입력으로 하여 상기 악곡 데이터의 특징량(악곡 데이터의 빠르기, 밝기, 활기 등)을 출력으로 하는 알고리즘의 자동 생성에 관한 발명이 제안되어 있다(예를 들면, 특허 문헌 1 참조).
[특허 문헌 1] 미국 특허 출원 공보 US2004/0181401A1
<발명이 이루고자 하는 기술적 과제>
특허 문헌 1에 기재된 발명에서는, 도 1에 도시한 바와 같이, 그 특징량의 종류마다 특징량을 추출하는 특징량 추출 알고리즘을 작성하고 있고, 특징량 추출 과정에 필요로 하는 연산량이 방대하여서, 실행하는 연산 중에 불필요한 연산이 많이 포함되어 있다.
따라서, 될 수 있는 한 낭비 없이 적은 연산량으로, 악곡 데이터로부터 대응하는 특징량을 신속하게 추출할 수 있는 알고리즘의 생성 방법의 출현이 기대되고 있다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 악곡 데이터 등의 콘텐츠 데이터를 입력으로 하여 해당 콘텐츠 데이터에 대응하는 특징량을 고정밀도로 신속하게 추출할 수 있는 알고리즘을 생성할 수 있도록 하는 것이다.
<과제를 해결하기 위한 수단>
본 발명의 일 측면인 정보 처리 장치는, 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치에 있어서, 상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하는 저레벨 특징량 추출식 리스트 생성 수단과, 저레벨 특징량 추출식 리스트 생성 수단에 의해 생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하는 연산 수단과, 상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 상기 연산 수단에 의해 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 고레벨 특징량 추출식 생성 수단을 포함한다.
상기 고레벨 특징량 추출식 생성 수단은, 생성한 상기 고레벨 특징량 추출식의 정밀도, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽을 산출하고, 상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 고레벨 특징량 추출식 생성 수단에 의해 산출된 상기 고레벨 특징량 추출식의 정밀도, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽에 기초하여, 상기 저레벨 특징량 추출식 리스트를 구성하는 상기 저레벨 특징량 추출식을 갱신하도록 할 수 있다.
상기 저레벨 특징량 추출식 리스트 생성 수단은, 제1 세대의 상기 식 리스트를 랜덤하게 생성하도록 할 수 있다.
상기 저레벨 특징량 추출식 리스트 생성 수단은, 차세대의 상기 식 리스트를 앞 세대의 상기 식 리스트에 기초한 유전적 알고리즘에 의해 선택 처리, 교차 처리, 또는 돌연변이 처리 중 적어도 1개에 의해 생성하도록 할 수 있다.
상기 저레벨 특징량 추출식 리스트 생성 수단은, 미리 설정된 상수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를 생성하도록 할 수 있다.
상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 리스트를 생성할 때마다 랜덤하게 결정하는 수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를 생성하도록 할 수 있다.
상기 고레벨 특징량 추출식 생성 수단은, 생성한 상기 고레벨 특징량 추출식의 평가값, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽을 산출하고, 상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 고레벨 특징량 추출식 생성 수단에 의해 산출된 상기 고레벨 특징량 추출식의 평가값, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽에 기초하여, 상기 저레벨 특징량 추출식 리스트를 구성하는 상기 저레벨 특징량 추출식을 갱신하도록 할 수 있다.
본 발명의 일 측면인 정보 처리 방법은, 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치의 정보 처리 방법에 있어서, 상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하고, 생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하고, 상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 스텝을 포함한다.
본 발명의 일 측면인 프로그램은, 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치의 제어용의 프로그램으로서, 상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하고, 생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하고, 상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 스텝을 포함하는 처리를 컴퓨터에 실행시킨다.
본 발명의 일 측면에서는, 콘텐츠 데이터 또는 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트가, 앞 세대의 식 리스트에 기초한 학습에 의해 생성되고, 생성된 식 리스트를 이용하여 저레벨 특징량이 연산되고, 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 연산된 저레벨 특징량을 입력으로 하여 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식이 생성된다.
<발명의 효과>
본 발명의 일 측면에 따르면, 악곡 데이터 등의 콘텐츠 데이터를 입력으로 하여, 해당 콘텐츠 데이터에 대응하는 특징량을 고정밀도로 신속하게 추출할 수 있는 알고리즘을 생성할 수 있다.
도 1은 종래의 특징량 추출 알고리즘을 설명하기 위한 도면이다.
도 2는 본 발명을 적용한 특징량 추출 알고리즘 생성 장치에 의해 생성되는 특징량 추출 알고리즘의 개요를 나타내는 도면이다.
도 3은 저레벨 특징량 추출식의 예를 나타내는 도면이다.
도 4는 고레벨 특징량 추출식의 예를 나타내는 도면이다.
도 5는 본 발명을 적용한 특징량 추출 알고리즘 생성 장치의 제1 구성예를 도시한 블록도이다.
도 6은 특징량 추출 알고리즘 생성 장치를 구성하는 고레벨 특징량 연산부의 구성예를 도시한 블록도이다.
도 7은 특징량 추출 알고리즘 학습 처리를 설명하는 플로우차트이다.
도 8은 저레벨 특징량 추출식 리스트의 예를 나타내는 도면이다.
도 9는 저레벨 특징량 추출식 리스트 생성 처리를 설명하는 플로우차트이다.
도 10은 도 5의 저레벨 특징량 추출식 리스트 생성부에 의한 제1 세대 리스트 랜덤 생성 처리를 설명하는 플로우차트이다.
도 11은 저레벨 특징량 추출식의 기술 방법을 나타내는 도면이다.
도 12는 입력 데이터의 예를 열기한 도면이다.
도 13은 입력 데이터(Wav)를 설명하는 도면이다.
도 14는 입력 데이터(Chord)를 설명하는 도면이다.
도 15는 입력 데이터(Key)를 설명하는 도면이다.
도 16은 저레벨 특징량 추출식의 보유 차원을 설명하는 도면이다.
도 17은 차세대 리스트 제네틱 생성 처리를 설명하는 플로우차트이다.
도 18은 도 5의 저레벨 특징량 추출식 리스트 생성부에 의한 선택 생성 처리를 설명하는 플로우차트이다.
도 19는 도 5의 저레벨 특징량 추출식 리스트 생성부에 의한 교차 생성 처리를 설명하는 플로우차트이다.
도 20은 도 5의 저레벨 특징량 추출식 리스트 생성부에 의한 돌연변이 생성 처리를 설명하는 플로우차트이다.
도 21은 오퍼레이터(Mean)의 연산을 설명하기 위한 도면이다.
도 22는 저레벨 특징량 연산부의 처리를 설명하기 위한 도면이다.
도 23은 교사 데이터의 예를 나타내는 도면이다.
도 24는 도 5의 고레벨 특징량 추출식 학습부에 의한 고레벨 특징량 추출식 학습 처리를 설명하는 플로우차트이다.
도 25는 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 26은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 27은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 28은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 29는 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 30은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 31은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 32는 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 33은 학습 알고리즘의 예를 설명하기 위한 도면이다.
도 34는 도 5의 고레벨 특징량 추출식 학습부에 의한 학습 알고리즘에 기초한 학습 처리를 설명하는 플로우차트이다.
도 35는 오퍼레이터의 조합의 예를 나타내는 도면이다.
도 36은 오퍼레이터의 조합의 예를 나타내는 도면이다.
도 37은 신규 오퍼레이터 생성 처리를 설명하는 플로우차트이다.
도 38은 고정밀도·고레벨 특징량 연산 처리를 설명하는 플로우차트이다.
도 39는 고정밀도 리젝트 처리를 설명하는 플로우차트이다.
도 40은 본 발명을 적용한 특징량 추출 알고리즘 생성 장치의 제2 구성예를 도시한 블록도이다.
도 41은 도 40의 저레벨 특징량 추출식 리스트 생성부에 의한 제1 세대 리스트 랜덤 생성 처리를 설명하는 플로우차트이다.
도 42는 도 40의 저레벨 특징량 추출식 리스트 생성부에 의한 선택 생성 처리를 설명하는 플로우차트이다.
도 43은 도 40의 저레벨 특징량 추출식 리스트 생성부에 의한 교차 생성 처리를 설명하는 플로우차트이다.
도 44는 도 40의 저레벨 특징량 추출식 리스트 생성부에 의한 돌연변이 생성 처리를 설명하는 플로우차트이다.
도 45는 도 40의 고레벨 특징량 추출식 학습부에 의한 고레벨 특징량 추출식 학습 처리를 설명하는 플로우차트이다.
도 46은 도 5의 고레벨 특징량 추출식 학습부에 의한 학습 알고리즘에 기초한 학습 처리를 설명하는 플로우차트이다.
도 47은 범용 퍼스널 컴퓨터의 구성예를 도시한 블록도이다.
<부호의 설명>
20:특징량 추출 알고리즘 생성 장치
21:저레벨 특징량 추출식 리스트 생성부
22:오퍼레이터 조 검출부
23:오퍼레이터 생성부
24:저레벨 특징량 연산부
25:고레벨 특징량 추출식 학습부
26:고레벨 특징량 연산부
27:제어부
41:저레벨 특징량 연산부
42:고레벨 특징량 연산부
43:제곱 오차 연산부
44:리젝트 영역 추출식 학습부
45:특징량 추출 정밀도 연산부
60:특징량 추출 알고리즘 생성 장치
61:저레벨 특징량 추출식 리스트 생성부
62:고레벨 특징량 연산부
100:퍼스널 컴퓨터
101:CPU
111:기록 매체
이하, 본 발명을 적용한 구체적인 실시예에 대해서, 도면을 참조하면서 상세하게 설명한다.
도 2는, 본 발명을 적용한 실시예인 특징량 추출 알고리즘 생성 장치(20)(도 5) 또는 특징량 추출 알고리즘 생성 장치(60)(도 40)에 의해 생성되는 특징량 추출 알고리즘의 개요를 나타내고 있다.
이 특징량 추출 알고리즘(11)은, 콘텐츠 데이터(악곡 데이터)와 그에 대응하는 메타데이터(속성 데이터)를 입력으로 하여 저레벨 특징량을 출력하는 저레벨 특징량 추출부(12), 및, 저레벨 특징량을 입력으로 하여 고레벨 특징량을 출력하는 고레벨 특징량 추출부(14)로 구성된다.
저레벨 특징량 추출부(12)는, 입력 데이터에 소정의 연산을 실시하는 1 이상의 오퍼레이터(연산자)가 조합된 m종류의 저레벨 특징량 추출식으로 이루어지는 저레벨 특징량 추출식 리스트(13)를 가지고 있다. 따라서, 저레벨 특징량 추출부(12)는, m종류의 저레벨 특징량을 고레벨 특징량 추출부(14)에 출력한다.
여기서, 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식의 수(m)는, 도 5에 도시된 특징량 추출 알고리즘 생성 장치(20)의 경우, 미리 결정되어 있는 상수이다. 또한, 도 40에 도시된 특징량 추출 알고리즘 생성 장치(60)의 경우, 랜덤하게 결정되는 난수이다.
도 3은 저레벨 특징량 추출식의 예를 나타내고 있다.
예를 들면, 도 3의 A에 나타낸 저레벨 특징량 추출식(f1)은, 악곡 데이터의 1종인 파형 데이터를 입력으로 하여, 각 채널(예를 들면, L(Left) 채널과 R(Right) 채널) 사이에서 파형 데이터의 평균값(Mean)을 연산하고, 연산된 평균값을 시간축을 따라 고속 푸리에 변환(FFT)을 행하고, FFT 결과로부터 주파수의 표준 편 차(StDev)를 구하고, 그 결과를 저레벨 특징량(a)으로서 출력한다.
또한 예를 들면, 도 3의 B에 나타낸 저레벨 특징량 추출식(f2)은, 악곡 데이터의 1종인 코드 진행 데이터를 입력으로 하여, 시간축을 따라 마이너 코드의 출현율(Ratio)을 구하고, 그 결과를 저레벨 특징량(b)으로서 출력한다.
또한, 저레벨 특징량 추출부(12)의 출력인 저레벨 특징량은, 그 단체로 의미가 있는 값일 필요는 없다.
고레벨 특징량 추출부(14)는, 입력되는 m종류의 저레벨 특징량 중의 1종류 이상의 저레벨 특징량에 비교적 단순한 연산(사칙 연산, 누승 연산 등)을 행하고, 그 연산 결과를 고레벨 특징량으로서 출력하는 k종류의 고레벨 특징량 추출식을 가지고 있다. 따라서, 고레벨 특징량 추출부(14)는, k종류의 고레벨 특징량을 출력한다.
도 4는 고레벨 특징량 추출식의 예를 나타내고 있다.
예를 들면, 도 4의 A에 나타낸 고레벨 특징량 추출식(F1)은, 저레벨 특징량(a, b, c, d, e)에 사칙 연산을 행하고, 이 연산 결과를 1종류의 고레벨 특징량인 빠르기의 값으로서 출력한다.
또한 예를 들면, 도 4의 B에 나타낸 저레벨 특징량 추출식(F2)은, 저레벨 특징량(a, c, d, e)에 사칙 연산과 누승 연산(POWER)을 행하고, 이 연산 결과를 1종류의 고레벨 특징량인 밝기의 값으로서 출력한다.
다음으로, 도 5는 본 발명의 제1 실시예인 특징량 추출 알고리즘 생성 장치(20)의 구성예를 도시하고 있다.
이 특징량 추출 알고리즘 생성 장치(20)는, 최적의 저레벨 특징량 추출식과 고레벨 특징량 추출식을 유전적인 알고리즘에 기초한 학습에 의해 생성하는 것이다.
특징량 추출 알고리즘 생성 장치(20)는, m개의 저레벨 특징량 추출식으로 이루어지는 저레벨 특징량 추출식 리스트를 n개 생성하는 저레벨 특징량 추출식 리스트 생성부(21), 저레벨 특징량 추출식 리스트 생성부(21)로부터 공급되는 n개의 저레벨 특징량 추출식 리스트에 j곡분의 입력 데이터(콘텐츠 데이터 및 메타데이터)를 입력으로 하여 각 입력 데이터에 대응하는 m종류의 저레벨 특징량을 n조분 연산하는 저레벨 특징량 연산부(24), 저레벨 특징량 연산부(24)로부터 출력되는 n조분의 저레벨 특징량과 대응하는 교사 데이터(j곡에 각각 대응하는 k항목의 고레벨 특징량)에 기초하여 고레벨 특징량 추출식을 학습에 의해 추정하는 고레벨 특징량 추출식 학습부(25), 유전적인 학습이 진행됨으로써 최종적으로 생성되는 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 연산하는 고레벨 특징량 연산부(26), 및, 각 부의 동작의 반복(루프)을 제어하는 제어부(27)로 구성된다.
또한, 본 명세서에서, 유전적인 알고리즘에 기초한 학습을, 제네틱(Genetic)한 학습이라고도 기술한다.
저레벨 특징량 추출식 리스트 생성부(21)는, 미리 설정되어 있는 상수인 m개의 저레벨 특징량 추출식으로 구성되는 저레벨 특징량 추출식 리스트를, 제1 세대에 대해서는 랜덤하게, 제2 세대 이후의 저레벨 특징량 추출식 리스트에 대해서는 1세대 전의 저레벨 특징량 추출식 리스트에 기초한 저레벨 특징량을 이용하여 학습 된 고레벨 특징량 추출식의 정밀도 등에 기초하여 생성한다.
저레벨 특징량 추출식 리스트 생성부(21)에 내장된 오퍼레이터 조 검출부(22)는, 생성된 저레벨 특징량 추출식 중에 빈출하는 복수의 오퍼레이터(연산자)의 조합을 검출한다. 오퍼레이터 생성부(23)는, 오퍼레이터 조 검출부(22)에 의해 검출된 복수의 오퍼레이터의 조합을 새로운 1종류의 오퍼레이터로서 등록한다.
고레벨 특징량 추출식 학습부(25)는, n조의 저레벨 특징량에 각각 대응하고, k종류의 고레벨 특징량 추출식을 생성함과 함께, 각 고레벨 특징량 추출식의 추정 정밀도와 각 고레벨 특징량 추출식에서의 각 저레벨 특징량의 기여율을 산출하여 저레벨 특징량 추출식 리스트 생성부(21)에 출력한다. 또한, 고레벨 특징량 추출식 학습부(25)는, 학습의 최종 세대에서, n조의 저레벨 특징량 추출식 리스트 중, 얻어진 고레벨 특징량의 평균 정밀도가 가장 높았던 저레벨 특징량 추출식 리스트를 구성하는 m개의 저레벨 특징량 추출식과, 이에 대응하는 k종류의 고레벨 특징량 추출식을 고레벨 특징량 연산부(26)에 공급한다.
고레벨 특징량 연산부(26)는, 최종적으로 고레벨 특징량 추출식 학습부(25)로부터 공급되는 저레벨 특징량 추출식 및 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 연산한다.
다음으로, 도 6은 고레벨 특징량 연산부(26)의 상세한 구성예를 도시하고 있다.
이 고레벨 특징량 연산부(26)는, 입력 데이터(콘텐츠 데이터와 그에 대응하는 메타데이터)를 최종적인 저레벨 특징량 추출식 리스트에 대입하여 저레벨 특징 량을 연산하는 저레벨 특징량 연산부(41), 저레벨 특징량 연산부(41)에 의한 연산 결과인 저레벨 특징량을 최종적인 고레벨 특징량 추출식에 대입하여 고레벨 특징량을 연산하는 고레벨 특징량 연산부(42), 고레벨 특징량 연산부(42)에 의한 연산 결과인 고레벨 특징량과 교사 데이터(입력 데이터에 대응하는 참된 고레벨 특징량)의 제곱 오차를 연산하는 제곱 오차 연산부(43), 저레벨 특징량 연산부(41)의 연산 결과인 저레벨 특징량을 입력, 제곱 오차 연산부(43)의 연산 결과인 제곱 오차를 출력으로 하는 리젝트 영역 추출식을 학습에 의해 생성하는 리젝트 영역 추출식 학습부(44), 및, 입력 데이터를 리젝트 영역 추출식 학습부(44)에 의해 생성된 리젝트 영역 추출식에 대입하고, 입력 데이터에 대응하여 연산되는 고레벨 특징량의 특징 추출 정밀도(제곱 오차)를 추정하고, 추정한 특징 추출 정밀도가 소정의 임계값 이상인 경우만 고레벨 특징량 연산부(42)에 고레벨 특징량을 연산시키는 특징량 추출 정밀도 연산부(45)로 구성된다.
다음으로, 본 발명의 제1 실시예인 특징량 추출 알고리즘 생성 장치(20)의 동작에 대해서 설명한다.
도 7은 특징량 추출 알고리즘 생성 장치(20)의 기본적인 동작인 특징량 추출 알고리즘 생성 처리를 설명하는 플로우차트이다.
스텝 S1에서, 제어부(27)는, 학습 루프 파라미터(G)를 1로 초기화하고 학습 루프를 개시한다. 또한, 학습 루프는, 유저 등에 의해 미리 설정되어 있는 학습 횟수(g)만큼 반복된다.
스텝 S2에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 도 8에 나타낸 바 와 같이, m종류의 저레벨 특징량 추출식으로 이루어지는 저레벨 특징량 추출식 리스트를 n개 생성하여 저레벨 특징량 연산부(24)에 출력한다.
스텝 S2의 처리(저레벨 특징량 추출식 리스트 생성 처리)에 대해서, 도 9의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S11에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대인지의 여부를 판정한다. 또한, 이 판정에서는 학습 루프 파라미터(G)가 0일 때, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대라고 판정된다.
학습 루프 파라미터(G)가 0인 것에 의해, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대라고 판정된 경우, 처리는 스텝 S12로 진행된다. 스텝 S12에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 제1 세대의 저레벨 특징량 추출식 리스트를 랜덤하게 생성한다.
반대로, 스텝 S11에서, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대가 아니라고 판정된 경우, 처리는 스텝 S13으로 진행된다. 스텝 S13에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 차세대의 저레벨 특징량 추출식 리스트를, 1세대 전의 저레벨 특징량 추출식 리스트에 기초하여 유전적 알고리즘에 의해 제네틱(Genetic)하게 생성한다.
스텝 S12의 처리(제1 세대 리스트 랜덤 생성 처리)에 대해서, 도 10의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S21에서, 제어부(27)는, 리스트 루프 파라미터(N)를 1로 초기화하고 리 스트 루프를 개시한다. 또한, 리스트 루프는, 미리 설정되어 있는 리스트 수(n)만큼 반복된다.
스텝 S22에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 1개의 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식의 식 수(m)만큼 반복된다.
여기서, 식 루프 내에서 생성되는 저레벨 특징량 추출식의 기술 방법에 대해서 도 11을 참조하여 설명한다.
저레벨 특징량 추출식은, 입력 데이터가 좌단에 기술되고, 그 우측에 1종류 이상의 오퍼레이터(연산자)가 연산의 순서에 대응하여 기술된다. 각 오퍼레이터에는, 적절하게, 처리 대칭 축과 파라미터가 포함된다.
예를 들면, 도 11에 나타낸 저레벨 특징량 추출식의 예의 경우, 12TomesM이 입력 데이터이고, 32#Differential, 32#MaxIndex, 16#LPF_1;0.861 등이 오퍼레이터이다. 또한, 오퍼레이터 중의 32#, 16# 등은 처리 대칭 축을 나타내고 있다. 예를 들면, 12TomesM은, 입력 데이터가 모노럴의 PCM(pulse coded modulation sound source) 파형 데이터이며 시간축 방향인 것을 나타내고 있다. 48#은 채널 축, 32#은 주파수축과 음정축, 16#은 시간축을 나타낸다. 오퍼레이터 중의 0.861은 로우 패스 필터 처리에서의 파라미터이고, 예를 들면 투과시키는 주파수의 임계값을 나타내고 있다.
도 10으로 되돌아간다. 스텝 S23에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 생성하는 제N번째의 저레벨 특징량 추출식 리스트(이하, 리스트(N)라고 도 기술함)의 제M개째의 저레벨 특징량 추출식(이하, 저레벨 특징량 추출식(M)이라고도 기술함)의 입력 데이터를 랜덤하게 결정한다.
입력 데이터의 종류로서는, 예를 들면 도 12에 나타낸 Wav, 12Tones, Chord, Key 등을 들 수 있다.
입력 데이터인 WAV는, 도 13에 나타낸 바와 같은 PCM 파형 데이터이고, 보유 차원은 시간축과 채널 축이다. 입력 데이터인 12Tones는, PCM 파형 데이터를 시간축을 따라 음정마다 해석한 것이고, 보유 차원은 시간축과 음정축이다. 입력 데이터인 Chord는, 도 14에 나타낸 바와 같은 악곡의 코드 진행(C, C#, D,…, Bm)을 나타내는 데이터이고, 보유 차원은 시간축과 음정축이다. 입력 데이터인 Key는, 악곡의 키(C, C#, D, …, B)를 나타내는 데이터이고, 보유 차원은 시간축과 음정축이다.
도 10으로 되돌아간다. 스텝 S24에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 생성하는 리스트(N)의 저레벨 특징량 추출식(M)의 처리 대칭 축과 파라미터를 랜덤하게 1개 결정한다.
파라미터의 종류로서는, 평균값(Mean), 고속 푸리에 변환(FFT), 표준 편차(StDev), 출현율(Ratio), 로우 패스 필터(LPF), 하이 패스 필터(HPF), 절대값(ABS), 미분(Differential), 최대값(MaxIndex), 불편 분산(UVariance) 등을 들 수 있다. 또한, 결정된 오퍼레이터에 따라서는 처리 대칭 축이 고정되어 있는 경우가 있으므로, 그 경우, 파라미터에 고정되어 있는 처리 대칭 축을 채용한다. 또한, 파라미터를 필요로 하는 오퍼레이터가 결정된 경우, 파라미터도 랜덤 또는 미 리 설정되어 있는 값으로 결정한다.
스텝 S25에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 현시점까지 생성되어 있는 리스트(N)의 저레벨 특징량 추출식(M)의 연산 결과가 스칼라(1차원)인지, 또는 차원 수가 소정의 값(예를 들면, 1 또는 2 정도의 작은 수) 이하인지의 여부를 판정하여, 그렇지 않다고 판정한 경우, 스텝 S24의 처리로 되돌아가서 오퍼레이터를 1개 추가한다. 그리고, 스텝 S24 및 S25의 처리가 반복됨으로써, 도 16에 나타낸 바와 같이 연산 결과의 보유 차원 수가 감소해 가고, 스텝 S25에서, 리스트(N)의 저레벨 특징량 추출식(M)의 연산 결과가 스칼라인지, 혹은 차원 수가 소정의 값(예를 들면, 1 또는 2 정도의 작은 수) 이하라고 판정된 경우, 처리는 스텝 S26으로 진행된다.
스텝 S26에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S23으로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S27로 진행시킨다. 여기까지의 처리에 의해, 제N번째의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
스텝 S27에서, 제어부(27)는, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은지의 여부를 판정하여, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은 경우, 리스트 루프 파라미터(N)를 1만 인크리먼트하고 처리를 스텝 S22로 복귀한다. 반대로, 리스트 루프 파라미터(N)가 최대값(n)보다도 작지 않은 경우(리스트 루프 파라미터(N)가 최대값(n)과 동일한 값인 경우), 리스트 루프를 빠져나가서 제1 세대 리스트 랜덤 생성 처리를 종료한다. 여기까지의 처리에 의해, 제1 세대의 저레벨 특징량 추출식 리스트가 n개 생성된 것으로 된다.
다음으로, 도 9의 스텝 S13에서의 제2 세대 이후의 저레벨 특징량 추출식 리스트를 생성하는 처리(차세대 리스트 제네틱 생성 처리)에 대해서, 도 17의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S31에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 생성하는 저레벨 특징량 추출식 리스트의 개수(n) 중, 유전적 알고리즘의 선택을 적용하는 리스트 수를 나타내는 선택 수(ns), 유전적 알고리즘의 교차를 적용하는 리스트 수를 나타내는 교차 수(nx), 유전적 알고리즘의 돌연변이를 적용하는 리스트 수를 나타내는 돌연변이 수(nm)를 랜덤하게 결정한다. 단, 선택 수(ns), 교차 수(nx), 돌연변이 수(nm)의 총합은 n이다. 또한, 선택 수(ns), 교차 수(nx), 돌연변이 수(nm)는 미리 설정한 상수를 채용하여도 된다.
스텝 S32에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 선택 수(ns)의 저레벨 특징량 추출식 리스트를 이용하여, ns개의 저레벨 특징량 추출식 리스트를 생성한다. 스텝 S33에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 교차 수(nx)의 저레벨 특징량 추출식 리스트를 이용하여, nx개의 저레벨 특징량 추출식 리스트를 생성한다. 스텝 S34에서, 저레벨 특징 량 추출식 리스트 생성부(21)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 돌연변이 수(nm)의 저레벨 특징량 추출식 리스트를 이용하여, nm개의 저레벨 특징량 추출식 리스트를 생성한다.
스텝 S32 내지 S34의 처리에 대해서 상세하게 설명한다.
스텝 S32의 선택 생성 처리에 대해서, 도 18의 플로우차트를 참조하여 상세하게 설명한다. 이 선택 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 선택 수 ns개의 저레벨 특징량 추출식 리스트가 생성된다.
스텝 S41에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트를, 고레벨 특징량 추출식 학습부(25)로부터 입력된 고레벨 특징량 추출식의 추정 정밀도의 평균값이 높은 순으로 재배열한다. 그리고, 스텝 S42에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 재배열한 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 상위 ns개를 차세대의 저레벨 특징량 추출식 리스트로서 채용한다. 이상으로 선택 생성 처리는 종료된다.
도 17의 스텝 S33의 교차 생성 처리에 대해서, 도 19의 플로우차트를 참조하여 상세하게 설명한다. 이 교차 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 교차 수 nx개의 저레벨 특징량 추출식 리스트가 생성된다.
스텝 S51에서, 제어부(27)는, 교차 루프 파라미터(NX)를 1로 초기화하고 교차 루프를 개시한다. 또한, 교차 루프는, 교차 수(nx)만큼 반복된다.
스텝 S52에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 앞 세대의 저레벨 특징량 추출식 리스트로부터, 고레벨 특징량 추출식 학습부(25)가 출력한 고레 벨 특징량 추출식의 추정 정밀도의 평균값이 높은 쪽의 것부터 차례로 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 2개의 저레벨 특징량 추출식 리스트(A, B)를 선택한다. 또한, 여기에서의 선택은, 전술한 선택 생성 처리에서 선택된 ns개의 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다.
스텝 S53에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 1개의 저레벨 특징량 추출식 리스트에 포함되는 식 수(m)만큼 반복된다.
스텝 S54에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 저레벨 특징량 추출식 리스트(A, B)에 포함되는 2m개의 저레벨 특징량 추출식으로부터, 고레벨 특징량 추출식 학습부(25)로부터 입력된 고레벨 특징량 추출식에서의 기여율이 높은 쪽의 것이 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 1개의 저레벨 특징량 추출식을 선택하여 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
스텝 S55에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S54로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S56으로 진행시킨다. 식 루프인 스텝 S53 내지 S55의 처리에 의해, 1개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
스텝 S56에서, 제어부(27)는, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작은지의 여부를 판정하여, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작은 경우, 교차 루프 파라미터(NX)를 1만 인크리먼트하고 처리를 스텝 S52로 복귀한다. 반대로, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작지 않은 경우(교차 루프 파라미터(NX)가 최대값(nx)과 동일한 값인 경우), 교차 루프를 빠져나가서 교차 생성 처리를 종료한다. 이 교차 루프의 처리에 의해, 교차 수 nx개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
도 17의 스텝 S34의 돌연변이 생성 처리에 대해서, 도 20의 플로우차트를 참조하여 상세하게 설명한다. 이 돌연변이 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 돌연변이 수 nm개의 저레벨 특징량 추출식 리스트가 생성된다.
스텝 S61에서, 제어부(27)는, 돌연변이 루프 파라미터(NM)를 1로 초기화하고 돌연변이 루프를 개시한다. 또한, 돌연변이 루프는, 돌연변이 수(nm)만큼 반복된다.
스텝 S62에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 앞 세대의 저레벨 특징량 추출식 리스트로부터, 고레벨 특징량 추출식 학습부(25)가 출력한 고레벨 특징량 추출식의 추정 정밀도의 평균값이 높은 쪽의 것이 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 1개의 저레벨 특징량 추출식 리스트(A)를 선택한다. 또한, 여기에서의 선택은, 전술한 선택 생성 처리에서 선택된 ns개의 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다. 또한, 전술한 교차 생성 처리의 스텝 S52의 처리에서 선택된 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다.
스텝 S63에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 1개의 저레벨 특징량 추출식 리스트에 포함되는 식 수(m)만큼 반복된다.
스텝 S64에서, 저레벨 특징량 추출식 리스트 생성부(21)는, 저레벨 특징량 추출식 리스트(A)에 포함되는 m개의 저레벨 특징량 추출식 중의 M번째의 것에 주목하여, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이, 저레벨 특징량 추출식 리스트(A)에 포함되는 다른 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율에 비교하여 낮은지의 여부를 판정한다. 구체적으로는, 예를 들면 저레벨 특징량 추출식 리스트(A)에 포함되는 m개의 저레벨 특징량 추출식 중, 연산 결과인 저레벨 특징량의 기여율이 낮은 쪽의 소정의 순번까지 속하는지의 여부를 판정한다.
스텝 S64에서, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이 다른 것보다도 낮다고 판정된 경우, 처리는 스텝 S65로 진행되고, 저레벨 특징량 추출식 리스트 생성부(21)는, M번째의 저레벨 특징량 추출식을 랜덤하게 변형하여(돌연변이시켜) 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
반대로, 스텝 S64에서, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이 다른 것보다도 낮지 않다고 판정된 경우, 처리는 스텝 S66으로 진행되고, 저레벨 특징량 추출식 리스트 생성부(21)는, M번째의 저레벨 특징량 추출식을 돌연변이시키지 않고, 그대로 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
스텝 S67에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S64로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S68로 진행시킨다. 스텝 S63 내지 S67의 식 루프의 처리에 의해, 저레벨 특징량 추출식 리스트가 1개 생성된 것으로 된다.
스텝 S68에서, 제어부(27)는, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작은지의 여부를 판정하여, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작은 경우, 돌연변이 루프 파라미터(NM)를 1만 인크리먼트하고 처리를 스텝 S62로 복귀한다. 반대로, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작지 않은 경우(돌연변이 루프 파라미터(NM)가 최대값(nm)과 동일한 값인 경우), 돌연변이 루프를 빠져나가서 돌연변이 생성 처리를 종료한다. 여기까지의 처리에 의해, 돌연변이 수 nm개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
이상 설명한 차세대 리스트 제네틱 생성 처리에 따르면, 1세대 전의 저레벨 특징량 추출식 리스트에 대응하는 추정 정밀도가 높은 것, 저레벨 특징량 추출식에 대응하는 기여율이 높은 것은 차세대에 계승되고, 추정 정밀도나 기여율이 낮은 것 은 차세대에 계승되지 않고 도태되게 된다. 따라서, 세대가 진행됨에 따라서, 저레벨 특징량 추출식 리스트에 대응하는 추정 정밀도는 향상하고, 저레벨 특징량 추출식에 대응하는 기여율도 향상하는 것을 기대할 수 있다.
도 7로 되돌아간다. 이상과 같이 하여 생성된 차세대의 저레벨 특징량 추출식 리스트는, 저레벨 특징량 추출식 리스트 생성부(21)로부터 저레벨 특징량 연산부(24)에 출력된다. 스텝 S3에서, 저레벨 특징량 연산부(24)는, 저레벨 특징량 추출식 리스트 생성부(21)로부터 입력된 n개의 저레벨 특징량 추출식 리스트 각각에 악곡(C1 내지 Cj)의 j곡분의 입력 데이터(콘텐츠 데이터나 메타데이터)를 대입하여 저레벨 특징량을 연산한다.
또한, 여기서 입력되는 j곡분의 입력 데이터는, 각각 k항목의 교사 데이터(대응하는 고레벨 특징량)가 미리 얻어져 있는 것을 사용한다.
예를 들면, 저레벨 특징량 연산부(24)는, 도 21의 A에 나타낸 바와 같은 보유 차원이 음정축과 시간축인 입력 데이터에 대하여 #16Mean의 오퍼레이터에 상당하는 연산을 실행한 경우, 도 21의 B에 나타낸 바와 같이 시간축을 처리 대상축으로 하여 각 음정의 값의 평균값을 산출한다. 그리고 연산 결과로서 얻어지는 도 22에 나타낸 바와 같은, 각 입력 데이터에 각각 대응하는 n조의 저레벨 특징량 조(m종류의 저레벨 특징량으로 이루어짐)를 고레벨 특징량 추출식 학습부(25)에 출력한다.
도 7로 되돌아간다. 스텝 S4에서, 고레벨 특징량 추출식 학습부(25)는, 저레벨 특징량 연산부(24)로부터 입력된 n조의 저레벨 특징량 조와, 대응하는 교사 데이터(도 23에 나타낸 바와 같이, 각 입력 데이터(악곡(C1 내지 Cj))에 각각 대응하는 k종류의 고레벨 특징량)에 기초하여, k종류의 고레벨 특징량 추출식으로 이루어지는 고레벨 특징량 추출식 조를 n조, 학습에 의해 추정한다(생성한다). 또한, 각 고레벨 특징량 추출식의 추정 정밀도와 각 고레벨 특징량 추출식에서의 각 저레벨 특징량의 기여율을 산출하여 저레벨 특징량 추출식 리스트 생성부(21)에 출력한다.
스텝 S4에서의 고레벨 특징량 추출식 학습 처리에 대해서, 도 24의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S71에서, 제어부(27)는, 리스트 루프 파라미터(N)를 1로 초기화하고 리스트 루프를 개시한다. 또한, 리스트 루프는, 미리 설정되어 있는 리스트 수(n)만큼 반복된다. 스텝 S72에서, 제어부(27)는, 교사 데이터 루프 파라미터(K)를 1로 초기화하고 교사 데이터 루프를 개시한다. 또한, 교사 데이터 루프는, 미리 설정되어 있는 교사 데이터의 종류 수(k)만큼 반복된다.
스텝 S73에서, 제어부(27)는, 알고리즘 루프 파라미터(A)를 1로 초기화하고 알고리즘 루프를 개시한다. 또한, 알고리즘 루프는, 적용되는 학습 알고리즘의 종류 수(a)만큼 반복된다.
적용하는 학습 알고리즘으로서, 예를 들면, Regression(회귀 해석), Classify(클래스 분류), SVM(Support Vector Machine), 및 GP(Genetic Programming)의 4종류를 들 수 있다.
Regression에 속하는 학습 알고리즘으로서는, 도 25에 나타낸 바와 같이, 교 사 데이터와 저레벨 특징량이 선형의 관계에 있다는 가정에 기초하여 교사 데이터와 Y의 제곱 오차가 최소로 되도록 파라미터(bn)를 학습하는 것, 및, 도 26에 나타낸 바와 같이, 교사 데이터와 저레벨 특징량이 비선형의 관계에 있다는 가정에 기초하여 교사 데이터와 Y의 제곱 오차가 최소로 되도록 파라미터(bnm)를 학습하는 것을 들 수 있다.
Classify에 속하는 학습 알고리즘으로서는, 도 27에 나타낸 바와 같이, 각 클래스(동도의 경우, 남성 보컬 클래스와 여성 보컬 클래스)의 각각의 중심으로부터의 유클리드 거리(d)를 산출하여 유클리드 거리(d)가 최단인 클래스로 분류하는 것, 도 28에 나타낸 바와 같이, 각 클래스(동도의 경우, 남성 보컬 클래스와 여성 보컬 클래스)의 평균 벡터와의 상관 계수(correl)를 산출하여 상관 계수(correl)가 최대인 클래스로 분류하는 것, 도 29에 나타낸 바와 같이, 각 클래스(동도의 경우, 남성 보컬 클래스와 여성 보컬 클래스)의 각각의 중심으로부터의 마하라노비스 거리(d)를 산출하여 마하라노비스 거리(d)가 최단인 클래스로 분류하는 것을 들 수 있다.
또한, 도 30의 A에 나타낸 바와 같이, 각 클래스군(동도의 경우, 남성 보컬 클래스군과 여성 보컬 클래스군)의 분포를 복수의 클래스로 표현하고, 각각의 클래스군의 중심으로부터의 유클리드 거리(d)를 산출하여 유클리드 거리(d)가 최단인 클래스로 분류하는 것, 및, 도 30의 B에 나타낸 바와 같이, 각 클래스군(동도의 경우, 남성 보컬 클래스군과 여성 보컬 클래스군)의 분포를 복수의 클래스로 표현하 고, 각각의 클래스군의 중심으로부터의 마하라노비스 거리(d)를 산출하여 마하라노비스 거리(d)가 최단인 클래스로 분류하는 것을 들 수 있다.
SVM에 속하는 학습 알고리즘으로서는, 도 31에 나타낸 바와 같이, 각 클래스(동도의 경우, 남성 보컬 클래스와 여성 보컬 클래스)의 경계면을 서포트 벡터로 표현하고, 분리면과 경계 부근의 벡터와의 거리(마진)가 최대로 되도록 파라미터(bnm)를 학습하는 것을 들 수 있다.
GP에 속하는 학습 알고리즘으로서는, 도 32에 나타낸 바와 같이, 저레벨 특징량을 조합한 식을 GP로 생성하는 것, 도 33의 A에 나타낸 바와 같이, 저레벨 특징량을 조합한 식을 교차시키는 것, 및, 도 33의 B에 나타낸 바와 같이, 저레벨 특징량을 조합한 식을 돌연변이시키는 것을 들 수 있다.
예를 들면, 전술한 모든 학습 알고리즘을 채용한 경우, 학습 알고리즘의 종류 수(a)는 11로 된다.
도 24로 되돌아간다. 스텝 S74에서, 제어부(27)는, 크로스 밸리데이션 루프 파라미터(C)를 1로 초기화하고 크로스 밸리데이션 루프를 개시한다. 또한, 크로스 밸리데이션 루프는, 미리 설정되어 있는 크로스 밸리데이션 횟수(c)만큼 반복된다.
스텝 S75에서, 고레벨 특징량 추출식 학습부(25)는, k종류의 교사 데이터 중, K번째의 종류의 j곡분의 교사 데이터(실제의 고레벨 특징량)를 랜덤하게 학습용과 평가용으로 2분할한다(크로스 밸리데이션). 이하, 교사 데이터 중, 학습용으로 분류된 것을 학습용 데이터, 평가용으로 분류된 것을 평가용 데이터라고 기술한다.
스텝 S76에서, 고레벨 특징량 추출식 학습부(25)는, N번째의 저레벨 특징량 추출식 리스트를 이용하여 연산된 m종류의 저레벨 특징량으로 이루어지는 저레벨 특징량 조와 학습용 데이터를 a번째의 학습 알고리즘에 적용하여 고레벨 특징량 추출식을 학습에 의해 추정한다. 이 학습 시에는, 연산량의 삭감과 과학습(오버 피팅)을 억지하기 위해서, m종류의 저레벨 특징량 중의 몇 개를 제네틱하게 선택하여 사용한다.
이 저레벨 특징량을 선택할 때의 평가값에는, 함수인 정보량 기준(AIC)(Akaike Information Criterion), 또는 정보량 기준(BIC)(Bayesian Information Criterion)을 이용한다. 정보량 기준(AIC 및 BIC)은 학습 모델(지금의 경우, 선택되어 있는 저레벨 특징량)의 선택 기준으로서 이용하는 것이고, 그 값이 작은 학습 모델일수록 좋은(평가가 높은) 것으로 된다.
AIC는 다음 식과 같이 표기된다.
AIC=-2×최대 대수 우도+2×자유 파라미터 수
예를 들면, 학습 알고리즘에 Regression(선형)이 채용되어 있는 경우(도 25의 경우), 자유 파라미터 수=n+1
대수 우도=-0.5×학습용 데이터 수×((log2π)+1+log(평균 제곱 오차))
이므로,
AIC=학습용 데이터 수×((log2π)+1+log(평균 제곱 오차))+2×(n+1)
로 된다.
BIC는 다음 식과 같이 표기된다.
BIC=-2×최대 대수 우도+log(학습용 데이터 수)×자유 파라미터 수
예를 들면, 학습 알고리즘에 Regression(선형)이 채용되어 있는 경우(도 25의 경우),
BIC=학습용 데이터 수×((log2π)+1+log(평균 제곱 오차))+log(학습용 데이터 수)×(n+1)
로 된다.
BIC는 AIC와 비교하여, 학습용 데이터 수가 증가하여도 그 값이 증가하기 어려운 것이 특징이다.
여기서, 스텝 S76의 학습 알고리즘에 기초한 학습 처리에 대해서, 도 34를 참조하여 설명한다. 이 학습 처리 시에는, 전술한 바와 같이, 연산량의 삭감과 과학습(오버 피팅)을 억지하기 위해서, 연산된 m종류의 저레벨 특징량 중의 몇 개를 제네틱하게 선택하여 사용한다.
스텝 S91에서, 고레벨 특징량 추출식 학습부(25)는, m종류의 저레벨 특징량 중, 선택하는 것(학습에 사용하는 것)을 랜덤하게 추출한 초기 집단을 p조 생성한다.
스텝 S92에서, 고레벨 특징량 추출식 학습부(25)는, 제네틱 알고리즘(GA:유전적 알고리즘)에 의한 특징 선택 루프를 개시한다. 이 GA에 의한 특징 선택 루프는, 후술하는 스텝 S98에서 소정의 조건을 충족시킬 때까지 반복된다.
스텝 S93에서, 제어부(27)는, 초기 집단 루프 파라미터(P)를 1로 초기화하고 초기 집단 루프를 개시한다. 또한, 초기 집단 루프는, 스텝 S91의 처리에서 생성 된 저레벨 특징량의 초기 집단 수(p)만큼 반복된다.
스텝 S94에서, 고레벨 특징량 추출식 학습부(25)는, P번째의 초기 집단에 포함되는 저레벨 특징량과, 교사 데이터 중의 학습용 데이터를 이용하여, A번째의 학습 알고리즘에 적용하여 고레벨 특징량 추출식을 학습에 의해 추정한다.
스텝 S95에서, 고레벨 특징량 추출식 학습부(25)는, 스텝 S94의 처리 결과로서 얻어진 고레벨 특징량의 평가값으로서, 정보량 기준(AIC 또는 BIC)을 연산한다.
스텝 S96에서, 제어부(27)는, 초기 집단 루프 파라미터(P)가 최대값(p)보다도 작은지의 여부를 판정하여, 초기 집단 루프 파라미터(P)가 최대값(p)보다도 작은 경우, 초기 집단 루프 파라미터(P)를 1만 인크리먼트하고 처리를 스텝 S94로 복귀한다. 반대로, 초기 집단 루프 파라미터(P)가 최대값(p)보다도 작지 않은 경우(초기 집단 루프 파라미터(P)가 최대값(p)과 동일한 값인 경우), 초기 집단 루프를 빠져나가서 처리를 스텝 S97로 진행시킨다. 이 스텝 S93 내지 S96의 초기 집단 루프의 처리에 의해, 각 초기 집단에 기초하여 학습된 고레벨 특징량 추출식의 평가값으로서 정보량 기준(AIC 또는 BIC)을 얻을 수 있다.
스텝 S97에서, 고레벨 특징량 추출식 학습부(25)는, 학습에 사용하는 저레벨 특징량으로 이루어지는 p조의 초기 집단을, 그 평가값에 기초하여 제네틱하게 갱신한다. 구체적으로는, 도 17의 스텝 S32 내지 S34와 마찬가지로, 선택, 교차, 돌연변이에 의해 초기 집단을 갱신한다. 이 갱신에 의해, 당초에는 랜덤하게 생성된 초기 집단이 고레벨 특징량 추출식의 평가값을 향상시키는 학습으로 진행된 것으로 된다.
스텝 S98에서, 제어부(27)는, p조의 초기 집단에 각각 대응하는 고레벨 특징량 추출식 중, 가장 평가값이 높은(정보량 기준이 작은) 고레벨 특징량 추출식의 평가값이, GA에 의한 특징 선택 루프가 반복될 때마다 향상되는(정보량 기준이 감소하고 있는) 경우, 특징 선택 루프를 계속하기 위해서, 처리를 스텝 S93으로 복귀한다. 반대로, p조의 초기 집단에 각각 대응하는 고레벨 특징량 추출식 중, 가장 평가값이 높은 고레벨 특징량 추출식의 평가값이, GA에 의한 특징 선택 루프를 반복하여도 향상하지 않게 된(정보량 기준이 감소하지 않게 된) 경우, GA에 의한 특징 선택 루프를 빠져나가, 가장 평가값이 높은 고레벨 특징량 추출식을 후단의 처리(도 24의 스텝 S77의 처리)로 출력한다. 그리고, 학습 알고리즘에 기초한 학습 처리는 종료된다.
또한, 스텝 S91에서 선택하는 저레벨 특징량의 수는 고정으로 하여도 된다. 이 경우, 교사 데이터의 엔트로피를 이용하여 필요한 저레벨 특징량의 수를 구하도록 하여도 된다. 마찬가지로, 교사 데이터의 주성분 분석을 행하고, 저레벨 특징량의 수를 주성분의 수와 동수로 하여도 된다.
도 24로 되돌아간다. 스텝 S77에서, 고레벨 특징량 추출식 학습부(25)는, 스텝 S76의 처리에서 얻은 가장 평가값이 높은 고레벨 특징량 추출식을, 평가용 데이터를 이용하여 평가한다. 구체적으로는, 얻어진 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 연산하고, 평가용 데이터와의 제곱 오차를 산출한다.
스텝 S78에서, 제어부(27)는, 크로스 밸리데이션 루프 파라미터(C)가 최대값(c)보다도 작은지의 여부를 판정하여, 크로스 밸리데이션 루프 파라미터(C)가 최 대값(c)보다도 작은 경우, 크로스 밸리데이션 루프 파라미터(C)를 1만 인크리먼트하고 처리를 스텝 S75로 복귀한다. 반대로, 크로스 밸리데이션 루프 파라미터(C)가 최대값(c)보다도 작지 않은 경우(크로스 밸리데이션 루프 파라미터(C)가 최대값(c)과 동일한 값인 경우), 크로스 밸리데이션 루프를 빠져나가서 처리를 스텝 S79로 진행시킨다. 스텝 S74 내지 S78의 크로스 밸리데이션 루프의 처리에 의해, c개의 학습 결과, 즉, 고레벨 특징량 추출식이 얻어진 것으로 된다. 또한, 크로스 밸리데이션 루프에 의해, 학습용 데이터와 평가용 데이터가 랜덤하게 변환되므로, 고레벨 특징량 추출식이 과학습되어 있지 않음을 확인할 수 있다.
스텝 S79에서, 고레벨 특징량 추출식 학습부(25)는, 크로스 밸리데이션 루프에 의해 얻어진 c개의 학습 결과, 즉, 고레벨 특징량 추출식 중, 스텝 S77의 처리에서의 평가값이 가장 높은 것을 선택한다.
스텝 S80에서, 제어부(27)는, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작은지의 여부를 판정하여, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작은 경우, 알고리즘 루프 파라미터(A)를 1만 인크리먼트하고 처리를 스텝 S74로 복귀한다. 반대로, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작지 않은 경우(알고리즘 루프 파라미터(A)가 최대값(a)과 동일한 값인 경우), 알고리즘 루프를 빠져나가서 처리를 스텝 S81로 진행시킨다. 스텝 S73 내지 S80의 알고리즘 루프의 처리에 의해, a종류의 학습 알고리즘에 의해 학습된 K번째의 종류의 고레벨 특징량 추출식이 a개 얻어진 것으로 된다.
그리고 스텝 S81에서, 고레벨 특징량 추출식 학습부(25)는, 알고리즘 루프에 의해 얻어진 a개의 학습 결과, 즉, 고레벨 특징량 추출식 중, 스텝 S77의 처리에서의 평가값이 가장 높은 것을 선택한다.
스텝 S82에서, 제어부(27)는, 교사 데이터 루프 라라미터(K)가 최대값(k)보다도 작은지의 여부를 판정하여, 교사 데이터 루프 파라미터(K)가 최대값(k)보다도 작은 경우, 교사 데이터 루프 파라미터(K)를 1만 인크리먼트하고 처리를 스텝 S73으로 복귀한다. 반대로, 교사 데이터 루프 파라미터(K)가 최대값(k)보다도 작지 않은 경우(교사 데이터 루프 파라미터(K)가 최대값(k)과 동일한 값인 경우), 교사 데이터 루프를 빠져나가서 처리를 스텝 S83으로 진행시킨다. 스텝 S72 내지 S82의 교사 데이터 루프의 처리에 의해, N번째의 저레벨 특징량 추출식 리스트에 대응하는, k종류의 고레벨 특징량 추출식이 얻어진 것으로 된다.
스텝 S83에서, 제어부(27)는, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은지의 여부를 판정하여, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은 경우, 리스트 루프 파라미터(N)를 1만 인크리먼트하고 처리를 스텝 S72로 복귀한다. 반대로, 리스트 루프 파라미터(N)가 최대값(n)보다도 작지 않은 경우(리스트 루프 파라미터(N)가 최대값(n)과 동일한 값인 경우), 리스트 루프를 빠져나가서 처리를 스텝 S84로 진행시킨다. 스텝 S71 내지 S83의 리스트 루프의 처리에 의해, n개의 저레벨 특징량 추출식 리스트에 각각 대응하는, k종류의 고레벨 특징량 추출식이 얻어진 것으로 된다.
스텝 S84에서, 고레벨 특징량 추출식 학습부(25)는, 얻어진 n개의 저레벨 특징량 추출식 리스트에 각각 대응하는, k종류의 고레벨 특징량 추출식의 추정 정밀 도와 각 고레벨 특징량 추출식에서의 각 저레벨 특징량의 기여율을 산출하여 저레벨 특징량 추출식 리스트 생성부(21)에 출력한다. 이상으로, 고레벨 특징량 추출식 학습 처리가 종료된다.
도 7로 되돌아간다. 스텝 S5에서, 제어부(27)는, 학습 루프 파라미터(G)가 최대값(g)보다도 작은지의 여부를 판정하여, 학습 루프 파라미터(G)가 최대값(g)보다도 작은 경우, 학습 루프 파라미터(G)를 1만 인크리먼트하고 처리를 스텝 S2로 복귀한다. 반대로, 학습 루프 파라미터(G)가 최대값(g)보다도 작지 않은 경우(학습 루프 파라미터(G)가 최대값(g)과 동일한 값인 경우), 학습 루프를 빠져나가서 처리를 스텝 S6으로 진행시킨다. 또한, 스텝 S1 내지 S5의 학습 룰이 특징량 추출 알고리즘의 학습 과정이고, 이 이후의 스텝 S6은, 특징량 추출 알고리즘을 이용한 고레벨 특징량의 연산을 위한 처리이다.
스텝 S6에서, 고레벨 특징량 추출식 학습부(25)는, 학습에 의해 얻어진 최종 세대의 n조의 저레벨 특징량 추출식 리스트 중, 얻어진 고레벨 특징량의 평균 정밀도가 가장 높았던 리스트를 구성하는 m개의 저레벨 특징량 추출식과, 이에 대응하는 k종류의 고레벨 특징량 추출식을 고레벨 특징량 연산부(26)에 공급한다.
스텝 S7에서, 고레벨 특징량 연산부(26)는, 고레벨 특징량 추출식 학습부(25)로부터 공급된 저레벨 특징량 추출식 및 고레벨 특징량 추출식 중, 마지막으로 고레벨 특징량 추출식 학습부(25)로부터 공급된 저레벨 특징량 추출식 및 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 고정밀도로 연산한다. 또한, 이 스텝 S7에서의 고정밀도·고레벨 특징량 연산 처리에 대해서는 도 38 이후를 참조하 여 후술한다.
이상, 특징량 추출 알고리즘 생성 장치(20)에 의한 특징량 추출 알고리즘 생성 처리의 설명을 종료한다.
다음으로, 전술한 특징량 추출 알고리즘 생성 처리에서의 스텝 S1 내지 S6의 학습 루프가 반복되어 저레벨 특징량 추출식 리스트의 세대가 진행하여 성장하였을 때, 즉, 저레벨 특징량 추출식의 기여도가 향상하거나, 대응하는 고레벨 특징량 추출식의 추정 정밀도가 향상하거나 했을 때에 실행하는 신규 오퍼레이터 생성 처리에 대해서 설명한다.
저레벨 특징량 추출식 리스트의 세대가 진행하여 성장한 경우, 저레벨 특징량 추출식 리스트 중에는, 도 35에 나타낸 바와 같이 복수의 오퍼레이터의 순열(이하, 오퍼레이터의 조합이라고 칭함)이 서로 다른 저레벨 특징량 추출식 상에 빈출하게 된다. 따라서, 서로 다른 저레벨 특징량 추출식 상에 빈출하는 복수의 오퍼레이터의 조합을 새로운 오퍼레이터의 하나로서, 저레벨 특징량 추출식 리스트 생성부(21)에서 사용하는 오퍼레이터에 등록하도록 한다.
예를 들면, 도 35의 경우, 3개의 오퍼레이터의 조합 "32#FFT, Log, 32#FFT"가 5개의 저레벨 특징량 추출식에 출현하고 있다. 이 "32#FFT, Log, 32#FFT"가 1개의 오퍼레이터(NewOperator 1)로서 등록된 경우, 차세대 이후의 저레벨 특징량 추출식에는, 예를 들면 도 36에 나타낸 바와 같이 오퍼레이터(NewOperator 1)가 포함되게 된다.
이 신규 오퍼레이터 생성 처리에 대해서, 도 37의 플로우차트를 참조하여 설 명한다. 스텝 S101에서, 오퍼레이터 조 검출부(22)는, 소정의 수(예를 들면, 1 내지 5 정도) 이하의 오퍼레이터로 이루어지는 오퍼레이터의 순열(순서가 있는 오퍼레이터의 조합)을 생성한다. 여기서 생성되는 오퍼레이터의 조합 수를 og라고 한다.
스텝 S102에서, 제어부(27)는, 조합 루프 파라미터(OG)를 1로 초기화하고 조합 루프를 개시한다. 또한, 조합 루프는, 오퍼레이터의 조합 수(og)만큼 반복된다.
스텝 S103에서, og번째의 오퍼레이터의 조합의 출현 빈도(Count)를 1로 초기화한다. 스텝 S104에서, 제어부(27)는, 리스트 루프 파라미터(N)를 0으로 초기화하고 리스트 루프를 개시한다. 또한, 리스트 루프는, 미리 설정되어 있는 리스트 수(n)만큼 반복된다. 스텝 S105에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 1개의 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식 수(m)만큼 반복된다.
스텝 S106에서, 오퍼레이터 조 검출부(22)는, N번째의 저레벨 특징량 추출식 리스트를 구성하는 M번째의 저레벨 특징량 추출식 상에 og번째의 오퍼레이터의 조합이 존재하는지의 여부를 판정하여, 존재한다고 판정한 경우, 처리를 스텝 S107로 진행시켜서 출현 빈도(Count)를 1만 인크리먼트한다. 반대로, og번째의 오퍼레이터의 조합이 존재하지 않는다고 판정한 경우, 스텝 S107을 스킵하여, 처리를 스텝 S108로 진행시킨다.
스텝 S108에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은 지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S106으로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S109로 진행시킨다.
스텝 S109에서, 제어부(27)는, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은지의 여부를 판정하여, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은 경우, 리스트 루프 파라미터(N)를 1만 인크리먼트하고 처리를 스텝 S105로 복귀한다. 반대로, 리스트 루프 파라미터(N)가 최대값(n)보다도 작지 않은 경우(리스트 루프 파라미터(N)가 최대값(n)과 동일한 값인 경우), 리스트 루프를 빠져나가서 처리를 스텝 S110으로 진행시킨다.
스텝 S110에서, 제어부(27)는, 조합 루프 파라미터(OG)가 최대값(og)보다도 작은지의 여부를 판정하여, 조합 루프 파라미터(OG)가 최대값(og)보다도 작은 경우, 조합 루프 파라미터(OG)를 1만 인크리먼트하고 처리를 스텝 S103으로 복귀한다. 반대로, 조합 루프 파라미터(OG)가 최대값(og)보다도 작지 않은 경우(조합 루프 파라미터(OG)가 최대값(og)과 동일한 값인 경우), 조합 루프를 빠져나가서 처리를 스텝 S110으로 진행시킨다. 여기까지의 처리에 의해, 모두 오퍼레이터의 조합에 각각 대응하는 출현 빈도(Count)가 검출된 것으로 된다.
스텝 S111에서, 오퍼레이터 조 검출부(22)는, 출현 빈도(Count)가 소정의 임계값 이상인 오퍼레이터의 조합을 추출하여 오퍼레이터 생성부(23)에 출력한다. 스텝 S112에서, 오퍼레이터 생성부(23)는, 오퍼레이터 조 검출부(22)로부터 입력된 오퍼레이터의 조합을 새로운 1개의 오퍼레이터로서 등록한다. 이상으로 신규 오퍼레이터 생성 처리가 종료된다.
이상 설명한 바와 같이, 신규 오퍼레이터 생성 처리에 따르면, 출현 빈도가 높은, 즉, 고레벨 특징량을 연산하는 데 있어서 유효하다고 생각되는 오퍼레이터의 조합이 1개의 오퍼레이터로 되고, 차세대 이후의 저레벨 특징량 추출식에서 사용되므로, 저레벨 특징량 추출식의 작성 속도와 성장 속도가 향상한다. 또한, 유효한 저레벨 특징량 추출식이 조기에 발견되게 된다. 또한, 종래, 사람의 손에 의해 발견되었던 유효하다고 생각되는 오퍼레이터의 조합을 자동적으로 검출할 수 있으므로, 이 점도 신규 오퍼레이터 생성 처리가 발휘하는 효과의 하나이다.
다음으로, 전술한 도 7의 스텝 S7에서의 고정밀도·고레벨 특징량 연산 처리에 대해서, 도 38의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S141에서, 고레벨 특징량 연산부(26)는, 고레벨 특징량 추출식 학습부(25)로부터 공급된 최종적인 고레벨 특징량 추출식 중, 높은 정밀도의 연산 결과가 얻어지는 것만을 선택하기 위한 고정밀도 리젝트 처리를 실행한다.
고정밀도 리젝트 처리는, 「고레벨 특징량의 정밀도는 저레벨 특징량의 값에 인과 관계가 있다」라는 생각에 기초하여, 저레벨 특징량을 입력으로 하여 고레벨 특징량의 정밀도를 출력하는 리젝트 영역 추출식을 학습에 의해 얻는 것이다. 이 고정밀도 리젝트 처리에 대해서, 도 39의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S151에서, 고레벨 특징량 연산부(26) 내의 저레벨 특징량 연산부(41)는, 최종적인 저레벨 특징량 추출식 리스트를 취득한다. 고레벨 특징량 연산부(26) 내의 고레벨 특징량 연산부(42)는, 최종적인 고레벨 특징량 추출식을 취득한다.
스텝 S152에서, 제어부(27)는, 콘텐츠 루프 파라미터(J)를 1로 초기화하고 콘텐츠 루프를 개시한다. 또한, 콘텐츠 루프는, 고정밀도 리젝트 처리를 실행하기 위해서 준비할 수 있는 입력 데이터(콘텐츠 데이터와 메타데이터)의 수(j)만큼 반복된다. 또한, 준비할 수 있는 입력 데이터에 대응하는 고레벨 특징량도, 교사 데이터로서 준비되어 있는 것으로 한다.
스텝 S153에서, 저레벨 특징량 연산부(41)는, 스텝 S151의 처리에서 취득한 최종적인 저레벨 특징량 추출식 리스트에 L번째의 입력 데이터를 대입하고, 그 연산 결과인 m종류의 저레벨 특징량을 고레벨 특징량 연산부(42) 및 리젝트 영역 추출식 학습부(44)에 출력한다. 고레벨 특징량 연산부(42)는, 스텝 S151의 처리에서 취득한 최종적인 고레벨 특징량 추출식에, 저레벨 특징량 연산부(41)로부터 입력된 m종류의 저레벨 특징량을 대입하고, 그 연산 결과인 고레벨 특징량을 제곱 오차 연산부(43)에 출력한다.
스텝 S154에서, 제곱 오차 연산부(43)는, 고레벨 특징량 연산부(42)로부터 입력된 고레벨 특징량과, 교사 데이터(입력 데이터에 대응하는 참된 고레벨 특징량)와의 제곱 오차를 연산하여 리젝트 영역 추출식 학습부(44)에 출력한다. 이 연산 결과인 제곱 오차가, 고레벨 특징량 연산부(42)에서 연산되는 고레벨 특징량 추 출식의 정밀도(이하, 특징 추출 정밀도라고 칭함)로 된다.
스텝 S155에서, 제어부(27)는, 콘텐츠 루프 파라미터(J)가 최대값(j)보다도 작은지의 여부를 판정하여, 콘텐츠 루프 파라미터(J)가 최대값(j)보다도 작은 경우, 콘텐츠 루프 파라미터(J)를 1만 인크리먼트하고 처리를 스텝 S153으로 복귀한다. 반대로, 콘텐츠 루프 파라미터(J)가 최대값(j)보다도 작지 않은 경우(콘텐츠 루프 파라미터(J)가 최대값(j)과 동일한 값인 경우), 콘텐츠 루프를 빠져나가서 처리를 스텝 S156으로 진행시킨다. 스텝 S151 내지 S155의 콘텐츠 루프의 처리에 의해, 각 입력 데이터에 각각 대응하는, 연산에 의해 얻어진 고레벨 특징량과 교사 데이터의 제곱 오차가 얻어진 것으로 된다.
스텝 S156에서, 리젝트 영역 추출식 학습부(44)는, 저레벨 특징량 연산부(41)로부터 입력되는 저레벨 특징량과 제곱 오차 연산부(43)로부터 입력되는 제곱 오차에 기초한 학습에 의해, 저레벨 특징량을 입력으로 하여 그에 기초하여 연산되는 고레벨 특징량의 특징 추출 정밀도를 출력으로 하는 리젝트 영역 추출식을 생성하고, 생성한 리젝트 영역 추출식을 특징량 추출 정밀도 연산부(45)에 공급한다. 이상으로 고정밀도 리젝트 처리가 종료되고, 처리는 도 38의 스텝 S142로 진행된다.
스텝 S142에서, 저레벨 특징량 연산부(41)는, 고레벨 특징량을 취득하려는 악곡의 입력 데이터를, 최종적인 저레벨 특징량 추출식 리스트에 대입하여 저레벨 특징량을 연산하고, 연산 결과를 고레벨 특징량 연산부(42) 및 특징량 추출 정밀도 연산부(45)에 출력한다.
스텝 S143에서, 특징량 추출 정밀도 연산부(45)는, 저레벨 특징량 연산부(41)로부터 입력된 저레벨 특징량을, 리젝트 영역 추출식 학습부(44)로부터 공급된 리젝트 영역 추출식에 대입하여, 저레벨 특징량 연산부(41)로부터 입력되는 저레벨 특징량에 기초하여 연산되는 고레벨 특징량의 특징량 추출 정밀도(즉, 고레벨 특징량 연산부(42)로 연산되는 고레벨 특징량에 대하여 추정되는 제곱 오차)를 연산한다.
스텝 S144에서, 특징량 추출 정밀도 연산부(45)는, 스텝 S143의 처리에서 연산한 특징량 추출 정밀도가 소정의 임계값 이상인지의 여부를 판정하여, 연산한 특징량 추출 정밀도가 소정의 임계값 이상이라고 판정한 경우, 처리를 스텝 S145로 진행시킨다. 스텝 S145에서, 특징량 추출 정밀도 연산부(45)는, 고레벨 특징량 연산부(42)에 대하여 고레벨 특징량의 연산을 실행시킨다. 고레벨 특징량 연산부(42)는, 스텝 S142의 처리에서 저레벨 특징량 연산부(41)로부터 입력된 m종류의 저레벨 특징량을, 최종적인 고레벨 특징량 추출식에 대입하여 고레벨 특징량을 연산한다. 그리고, 여기에서 연산된 고레벨 특징량이 최종적인 출력으로 된다. 이상으로, 고정밀도·고레벨 특징량 연산 처리가 종료된다.
또한, 스텝 S144에서, 연산한 특징량 추출 정밀도가 소정의 임계값보다도 작다고 판정된 경우, 스텝 S145의 처리는 스킵되어 고정밀도·고레벨 특징량 연산 처리는 종료된다.
따라서, 고정밀도·고레벨 특징량 연산 처리에 따르면, 고레벨 특징량 추출식에 의해 계산되는 고레벨 특징량의 정밀도를 추정할 수 있다. 또한, 높은 정밀 도를 기대할 수 없는 고레벨 특징량을 연산하지 않으므로, 불필요한 연산을 생략하는 것이 가능하게 된다.
이상 설명한 바와 같이, 본 발명의 제1 실시예인 특징량 추출 알고리즘 생성 장치(20)에 의한 특징량 추출 알고리즘 학습 처리에 따르면, 악곡 데이터로부터 대응하는 특징량을 추출할 수 있는 알고리즘을, 고정밀도로 신속하게 생성하는 것이 가능하게 될 뿐만 아니라, 고정밀도의 고레벨 특징량만을 적은 연산량으로 취득하는 것이 가능하게 된다.
다음으로, 본 발명의 제2 실시예인 특징량 추출 알고리즘 생성 장치(60)에 대해서 설명한다. 도 40은 특징량 추출 알고리즘 생성 장치(60)의 구성예를 도시하고 있다.
이 특징량 추출 알고리즘 생성 장치(60)는, 특징량 추출 알고리즘 생성 장치(20)에서의 저레벨 특징량 추출식 리스트 생성부(21) 및 고레벨 특징량 추출식 학습부(25)를, 각각 저레벨 특징량 추출식 리스트 생성부(61) 또는 고레벨 특징량 추출식 학습부(65)로 치환한 것이다.
특징량 추출 알고리즘 생성 장치(60)의 특징량 추출 알고리즘 생성 장치(20)와의 차이점은, 특징량 추출 알고리즘 생성 장치(20)의 저레벨 특징량 추출식 리스트 생성부(21)가 생성하는 저레벨 특징량 추출식 리스트 내의 식 수(m)는 상수인 것에 대하여, 특징량 추출 알고리즘 생성 장치(60)의 저레벨 특징량 추출식 리스트 생성부(61)가 생성하는 각 저레벨 특징량 추출식 리스트 내의 수(m)는 랜덤하게 결정되는 것이다.
또한, 특징량 추출 알고리즘 생성 장치(20)의 고레벨 특징량 추출식 학습부(25)가 저레벨 특징량 추출식 리스트 생성부(21)에 대한 피드백으로서 추정 정밀도 및 기여율을 출력하고 있었던 것에 대하여, 특징량 추출 알고리즘 생성 장치(60)의 고레벨 특징량 추출식 학습부(65)가 저레벨 특징량 추출식 리스트 생성부(61)에 대한 피드백으로서 평가값 및 기여율을 출력하는 것이다.
특징량 추출 알고리즘 생성 장치(60)의 저레벨 특징량 추출식 리스트 생성부(61) 및 고레벨 특징량 추출식 학습부(65) 이외의 구성 요소에 대해서는, 특징량 추출 알고리즘 생성 장치(20)의 그것과 공통이며 동일한 부호를 붙이고 있으므로, 그들의 설명은 생략한다.
다음으로, 특징량 추출 알고리즘 생성 장치(60)의 동작에 대해서, 특징량 추출 알고리즘 생성 장치(20)의 동작 설명에 이용한 도면을 적당히 유용하여 설명한다.
우선, 특징량 추출 알고리즘 생성 장치(60)의 기본적인 동작인 특징량 추출 알고리즘 생성 처리에 대해서, 도 7에 나타낸 플로우차트를 유용하여 설명한다.
스텝 S1에서, 제어부(27)는, 학습 루프 파라미터(G)를 1로 초기화하고 학습 루프를 개시한다. 또한, 학습 루프는, 유저 등에 의해 미리 설정되어 있는 학습 횟수(g)만큼 반복된다.
스텝 S2에서, 저레벨 특징량 추출식 리스트 생성부(61)는, n개의 저레벨 특징량 추출식 리스트를 생성하여 저레벨 특징량 연산부(24)에 출력한다.
스텝 S2의 처리(저레벨 특징량 추출식 리스트 생성 처리)에 대해서, 도 9에 나타낸 플로우차트를 유용하여 상세하게 설명한다.
스텝 S11에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대인지의 여부를 판정한다. 또한, 이 판정에서는 학습 루프 파라미터(G)가 0일 때, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대라고 판정된다.
학습 루프 파라미터(G)가 0인 것에 의해, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대라고 판정된 경우, 처리는 스텝 S12로 진행된다. 스텝 S12에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 제1 세대의 저레벨 특징량 추출식 리스트를 랜덤하게 생성한다.
반대로, 스텝 S11에서, 생성하는 저레벨 특징량 추출식 리스트가 제1 세대가 아니라고 판정된 경우, 처리는 스텝 S13으로 진행된다. 스텝 S13에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 차세대의 저레벨 특징량 추출식 리스트를, 1세대 전의 저레벨 특징량 추출식 리스트에 기초하여 유전적 알고리즘에 의해 제네틱(Genetic)하게 생성한다.
스텝 S12에서의, 저레벨 특징량 추출식 리스트 생성부(61)에 의한 제1 세대 리스트 랜덤 생성 처리에 대해서, 도 41의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S171에서, 제어부(27)는, 리스트 루프 파라미터(N)를 1로 초기화하고 리스트 루프를 개시한다. 또한, 리스트 루프는, 미리 설정되어 있는 리스트 수(n)만큼 반복된다.
스텝 S172에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 생성하는 제1 세대의 제N번째의 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식의 식 수(m)를 랜덤하게 결정한다.
스텝 S173에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 1개의 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식의 식 수(m)만큼 반복된다.
스텝 S174에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 생성하는 제1 세대의 제N번째의 저레벨 특징량 추출식 리스트(이하, 리스트(N)라고도 기술함)의 제M개째의 저레벨 특징량 추출식(이하, 저레벨 특징량 추출식(M)이라고도 기술함)의 입력 데이터를 랜덤하게 결정한다.
스텝 S175에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 생성하는 리스트(N)의 저레벨 특징량 추출식(M)의 처리 대칭축과 파라미터를 랜덤하게 1개 결정한다.
스텝 S176에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 현시점까지 생성되어 있는 리스트(N)의 저레벨 특징량 추출식(M)의 연산 결과가 스칼라(1차원)인지, 또는 차원 수가 소정의 값(예를 들면, 1 또는 2 정도의 작은 수) 이하인지의 여부를 판정하여, 아니라고 판정한 경우, 스텝 S175의 처리로 되돌아가서 오퍼레이터를 1개 추가한다. 그리고, 스텝 S175 및 S176의 처리가 반복됨으로서, 도 16에 나타낸 바와 같이 연산 결과의 보유 차원 수가 감소해 가고, 스텝 S176에서, 리스트(N)의 저레벨 특징량 추출식(M)의 연산 결과가 스칼라인지, 혹은 차원 수가 소정 의 값(예를 들면, 1 또는 2 정도의 작은 수) 이하라고 판정된 경우, 처리는 스텝 S177로 진행된다.
스텝 S177에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S174로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S178로 진행시킨다. 스텝 S173 내지 S177의 처리에 의해, 제1 세대의 제N번째의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
스텝 S178에서, 제어부(27)는, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은지의 여부를 판정하여, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은 경우, 리스트 루프 파라미터(N)를 1만 인크리먼트하고 처리를 스텝 S172로 복귀한다. 반대로, 리스트 루프 파라미터(N)가 최대값(n)보다도 작지 않은 경우(리스트 루프 파라미터(N)가 최대값(n)과 동일한 값인 경우), 리스트 루프를 빠져나가서 제1 세대 리스트 랜덤 생성 처리를 종료한다. 여기까지의 처리에 의해, 제1 세대의 각각 구성하는 저레벨 특징량 추출식의 식 수(m)가 공통이 아닌 n개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
다음으로, 저레벨 특징량 추출식 리스트 생성부(61)에 의한, 도 9의 스텝 S13에서의 제2 세대 이후의 저레벨 특징량 추출식 리스트를 생성하는 처리(차세대 리스트 제네틱 생성 처리)에 대해서, 도 17을 유용하여 설명한다.
스텝 S31에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 생성하는 저레벨 특징량 추출식 리스트의 개수(n) 중, 유전적 알고리즘의 선택을 적용하는 리스트 수를 나타내는 선택 수(ns), 유전적 알고리즘의 교차를 적용하는 리스트 수를 나타내는 교차 수(nx), 유전적 알고리즘의 돌연변이를 적용하는 리스트 수를 나타내는 돌연변이 수(nm)을 랜덤하게 결정한다. 단, 선택 수(ns), 교차 수(nx), 돌연변이 수(nm)의 총합은 n이다. 또한, 선택 수(ns), 교차 수(nx), 돌연변이 수(nm)는 미리 설정한 상수를 채용하여도 된다.
스텝 S32에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 선택 수(ns)의 저레벨 특징량 추출식 리스트를 이용하여, ns개의 저레벨 특징량 추출식 리스트를 생성한다. 스텝 S33에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 교차 수(nx)의 저레벨 특징량 추출식 리스트를 이용하여, nx개의 저레벨 특징량 추출식 리스트를 생성한다. 스텝 S34에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 결정한 돌연변이 수(nm)의 저레벨 특징량 추출식 리스트를 이용하여, nm개의 저레벨 특징량 추출식 리스트를 생성한다.
스텝 S32 내지 S34의 처리에 대해서 상세하게 설명한다.
저레벨 특징량 추출식 리스트 생성부(61)에 의한, 스텝 S32의 선택 생성 처리에 대해서, 도 42의 플로우차트를 참조하여 상세하게 설명한다. 이 선택 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 선택 수 ns개의 저 레벨 특징량 추출식 리스트가 생성된다.
스텝 S181에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 1세대 전의 n개의 저레벨 특징량 추출식 리스트를, 고레벨 특징량 추출식 학습부(65)로부터 입력된 고레벨 특징량 추출식의 평가값의 평균값이 높은 순으로 재배열한다. 그리고, 스텝 S182에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 재배열한 1세대 전의 n개의 저레벨 특징량 추출식 리스트 중, 상위 ns개를 차세대의 저레벨 특징량 추출식 리스트로서 채용한다. 이상으로 선택 생성 처리는 종료된다.
저레벨 특징량 추출식 리스트 생성부(61)에 의한, 도 17의 스텝 S33의 교차 생성 처리에 대해서, 도 43의 플로우차트를 참조하여 상세하게 설명한다. 이 교차 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 교차 수 nx개의 저레벨 특징량 추출식 리스트가 생성된다.
스텝 S191에서, 제어부(27)는, 교차 루프 파라미터(NX)를 1로 초기화하고 교차 루프를 개시한다. 또한, 교차 루프는, 교차 수(nx)만큼 반복된다.
스텝 S192에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 앞 세대의 저레벨 특징량 추출식 리스트로부터, 고레벨 특징량 추출식 학습부(65)가 출력한 고레벨 특징량 추출식의 평가값의 평균값이 높은 쪽의 것부터 차례로 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 2개의 저레벨 특징량 추출식 리스트(A, B)를 선택한다. 또한, 여기에서의 선택은, 전술한 선택 생성 처리에서 선택된 ns개의 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다.
스텝 S193에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 이하의 식 루프에 의해 생성하는 저레벨 특징량 추출식 리스트의 식 수(m)를 다음 식의 범위에서 랜덤하게 결정한다.
m=((리스트(A)의 식 수+리스트(B)의 식 수)/2)±mr
mr은 미리 결정되어 있는 값
스텝 S194에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 스텝 S193의 처리에서 랜덤하게 결정된 식 수(m)만큼 반복된다.
스텝 S195에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 저레벨 특징량 추출식 리스트(A, B)에 포함되는 모든 저레벨 특징량 추출식으로부터, 고레벨 특징량 추출식 학습부(65)로부터 입력된 고레벨 특징량 추출식에서의 기여율이 높은 쪽의 것이 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 1개의 저레벨 특징량 추출식을 선택하여 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
스텝 S196에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S195로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S197로 진행시킨다. 식 루프인 스텝 S194 내지 S196의 처리에 의해, 1개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
스텝 S197에서, 제어부(27)는, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작은지의 여부를 판정하여, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작은 경우, 교차 루프 파라미터(NX)를 1만 인크리먼트하고 처리를 스텝 S192로 복귀한다. 반대로, 교차 루프 파라미터(NX)가 최대값(nx)보다도 작지 않은 경우(교차 루프 파라미터(NX)가 최대값(nx)과 동일한 값인 경우), 교차 루프를 빠져나가서 교차 생성 처리를 종료한다. 이 교차 루프의 처리에 의해, 차세대의 교차 수 nx개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
저레벨 특징량 추출식 리스트 생성부(61)에 의한, 도 17의 스텝 S34의 돌연변이 생성 처리에 대해서, 도 44의 플로우차트를 참조하여 상세하게 설명한다. 이 돌연변이 생성 처리에서는, 차세대의 n개의 저레벨 특징량 추출식 리스트 중의 돌연변이 수 nm개의 저레벨 특징량 추출식 리스트가 생성된다.
스텝 S201에서, 제어부(27)는, 돌연변이 루프 파라미터(NM)를 1로 초기화하고 돌연변이 루프를 개시한다. 또한, 돌연변이 루프는, 돌연변이 수(nm)만큼 반복된다.
스텝 S202에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 앞 세대의 저레벨 특징량 추출식 리스트로부터, 고레벨 특징량 추출식 학습부(65)가 출력한 고레벨 특징량 추출식의 평가값의 평균값이 높은 쪽의 것이 우선적으로 선택되도록 가중치 부여를 한 후, 랜덤하게 1개의 저레벨 특징량 추출식 리스트(A)를 선택한다. 또한, 여기에서의 선택은, 전술한 선택 생성 처리에서 선택된 ns개의 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다. 또한, 전술한 교차 생성 처리의 스텝 S192의 처리에서 선택된 저레벨 특징량 추출식 리스트를 선택 후보로부터 제외하여도 되고, 선택 후보로 남겨 두어도 된다.
스텝 S203에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 이하의 식 루프에 의해 생성하는 저레벨 특징량 추출식 리스트의 식 수(m)를 랜덤하게 결정한다.
스텝 S203에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 이하의 식 루프에 의해 생성하는 저레벨 특징량 추출식 리스트의 식 수(m)를 다음 식의 범위에서 랜덤하게 결정한다.
m=리스트(A)의 식 수±mr
mr은 미리 결정되어 있는 값
스텝 S204에서, 제어부(27)는, 식 루프 파라미터(M)를 1로 초기화하고 식 루프를 개시한다. 또한, 식 루프는, 스텝 S203의 처리에서 랜덤하게 결정된 식 수(m)만큼 반복된다.
스텝 S205에서, 저레벨 특징량 추출식 리스트 생성부(61)는, 저레벨 특징량 추출식 리스트(A)에 포함되는 모든 저레벨 특징량 추출식 중, M번째의 것에 주목하고, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이, 저레벨 특징량 추출식 리스트(A)에 포함되는 다른 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율에 비교하여 낮은지의 여부를 판정한다. 구체적으로는, 예를 들면 저레벨 특징량 추출식 리스트(A)에 포함되는 모든 저레벨 특징량 추출식 중, 연산 결과인 저레벨 특징량의 기여율이 낮은 쪽의 소정의 순번까지 속하는지의 여부를 판정한다.
스텝 S205에서, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이 다른 것보다도 낮다고 판정된 경우, 처리는 스텝 S206으로 진행되고, 저레벨 특징량 추출식 리스트 생성부(61)는, M번째의 저레벨 특징량 추출식을 랜덤하게 변형하여(돌연변이시켜) 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
반대로, 스텝 S205에서, M번째의 저레벨 특징량 추출식의 연산 결과인 저레벨 특징량의 기여율이 다른 것보다도 낮지 않다고 판정된 경우, 처리는 스텝 S207로 진행되고, 저레벨 특징량 추출식 리스트 생성부(61)는, M번째의 저레벨 특징량 추출식을 돌연변이시키지 않고, 그대로 차세대의 저레벨 특징량 추출식 리스트에 추가한다.
또한, 랜덤하게 결정된 식 수(m)가 저레벨 특징량 추출식 리스트(A)를 구성하는 저레벨 특징량 추출식의 식 수보다도 큰 경우, 식 루프 파라미터(M)가 저레벨 특징량 추출식 리스트(A)를 구성하는 저레벨 특징량 추출식의 식 수보다도 커진 시점에서 스텝 S205에서의 판정을 생략하고, 랜덤하게 저레벨 특징량 추출식을 신규로 생성하여 차세대의 저레벨 특징량 추출식 리스트에 추가하도록 한다.
스텝 S208에서, 제어부(27)는, 식 루프 파라미터(M)가 최대값(m)보다도 작은지의 여부를 판정하여, 식 루프 파라미터(M)가 최대값(m)보다도 작은 경우, 식 루프 파라미터(M)를 1만 인크리먼트하고 처리를 스텝 S205로 복귀한다. 반대로, 식 루프 파라미터(M)가 최대값(m)보다도 작지 않은 경우(식 루프 파라미터(M)가 최대값(m)과 동일한 값인 경우), 식 루프를 빠져나가서 처리를 스텝 S209로 진행시킨 다.
스텝 S203 내지 S208의 처리에 의해, 저레벨 특징량 추출식 리스트가 1개 생성된 것으로 된다.
스텝 S209에서, 제어부(27)는, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작은지의 여부를 판정하여, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작은 경우, 돌연변이 루프 파라미터(NM)를 1만 인크리먼트하고 처리를 스텝 S202로 복귀한다. 반대로, 돌연변이 루프 파라미터(NM)가 최대값(nm)보다도 작지 않은 경우(돌연변이 루프 파라미터(NM)가 최대값(nm)과 동일한 값인 경우), 돌연변이 루프를 빠져나가서 돌연변이 생성 처리를 종료한다. 여기까지의 처리에 의해, 돌연변이 수 nm개의 저레벨 특징량 추출식 리스트가 생성된 것으로 된다.
이상 설명한 저레벨 특징량 추출식 리스트 생성부(61)에 의한 차세대 리스트 제네틱 생성 처리에 따르면, 1세대 전의 저레벨 특징량 추출식 리스트에 대응하는 평가값이 높은 것, 저레벨 특징량 추출식에 대응하는 기여율이 높은 것은 차세대에 계승되고, 평가값이나 기여율이 낮은 것은 차세대에 계승되지 않고 도태되게 된다. 따라서, 세대가 진행됨에 따라서, 저레벨 특징량 추출식 리스트에 대응하는 평가값은 향상하고, 저레벨 특징량 추출식에 대응하는 기여율도 향상하는 것을 기대할 수 있다.
도 7로 되돌아간다. 이상과 같이 하여 생성된 차세대의 저레벨 특징량 추출식 리스트는, 저레벨 특징량 추출식 리스트 생성부(61)로부터 저레벨 특징량 연산부(24)에 출력된다. 스텝 S3에서, 저레벨 특징량 연산부(24)는, 저레벨 특징량 추 출식 리스트 생성부(61)로부터 입력된 n개의 저레벨 특징량 추출식 리스트 각각에 악곡(C1 내지 Cj)의 j곡분의 입력 데이터(콘텐츠 데이터나 메타데이터)를 대입하여 저레벨 특징량을 연산한다. 그리고, 연산 결과로서 얻어진 n조의 저레벨 특징량 조를 고레벨 특징량 추출식 학습부(65)에 출력한다.
스텝 S4에서, 고레벨 특징량 추출식 학습부(65)는, 저레벨 특징량 연산부(24)로부터 입력된 n조의 저레벨 특징량 조와, 대응하는 교사 데이터에 기초하여, k종류의 고레벨 특징량 추출식으로 이루어지는 고레벨 특징량 추출식 조를 n조, 학습에 의해 추정한다(생성한다). 또한, 각 고레벨 특징량 추출식의 평가값과 각 고레벨 특징량 추출식에서의 각 저레벨 특징량의 기여율을 산출하여 저레벨 특징량 추출식 리스트 생성부(61)에 출력한다.
고레벨 특징량 추출식 학습부(65)에 의한, 스텝 S4에서의 고레벨 특징량 추출식 학습 처리에 대해서, 도 45의 플로우차트를 참조하여 상세하게 설명한다.
스텝 S211에서, 제어부(27)는, 리스트 루프 파라미터(N)를 1로 초기화하고 리스트 루프를 개시한다. 또한, 리스트 루프는, 미리 설정되어 있는 리스트 수(n)만큼 반복된다. 스텝 S212에서, 제어부(27)는, 교사 데이터 루프 파라미터(K)를 1로 초기화하고 교사 데이터 루프를 개시한다. 또한, 교사 데이터 루프는, 미리 설정되어 있는 교사 데이터의 종류 수(k)만큼 반복된다.
스텝 S213에서, 제어부(27)는, 알고리즘 루프 파라미터(A)를 1로 초기화하고 알고리즘 루프를 개시한다. 또한, 알고리즘 루프는, 적용되는 학습 알고리즘의 종류 수(a)만큼 반복된다. 적용하는 알고리즘의 예에 대해서는, 전술한 특징량 추출 알고리즘 생성 장치(20)의 동작 설명과 마찬가지이다.
스텝 S214에서, 제어부(27)는, 크로스 밸리데이션 루프 파라미터(C)를 1로 초기화하고 크로스 밸리데이션 루프를 개시한다. 또한, 크로스 밸리데이션 루프는, 미리 설정되어 있는 크로스 밸리데이션 횟수(c)만큼 반복된다.
스텝 S215에서, 고레벨 특징량 추출식 학습부(65)는, k종류의 교사 데이터 중, K번째의 종류의 j곡분의 교사 데이터(실제의 고레벨 특징량)를 랜덤하게 학습용과 평가용으로 2분할한다(크로스 밸리데이션). 이하, 교사 데이터 중, 학습용으로 분류된 것을 학습용 데이터, 평가용으로 분류된 것을 평가용 데이터라고 기술한다.
스텝 S216에서, 고레벨 특징량 추출식 학습부(65)는, N번째의 저레벨 특징량 추출식 리스트를 이용하여 연산된 복수의 저레벨 특징량으로 이루어지는 저레벨 특징량 조와 학습용 데이터를 a번째의 학습 알고리즘에 적용하여 고레벨 특징량 추출식을 학습에 의해 추정한다.
또한, 이 학습 시에는, 고레벨 특징량 추출식 학습부(25)와 달리, N번째의 저레벨 특징량 추출식 리스트를 이용하여 연산된 모든 저레벨 특징량(이하, 저레벨 특징량 조라고 기술함)을 사용한다. 이에 의해 고레벨 특징량 추출식의 평가값은, 원래의 저레벨 특징량의 수가 충분한지의 여부의 평가도 고려한 값으로 된다.
고레벨 특징량 추출식 학습부(65)에 의한, 스텝 S216의 학습 알고리즘에 기초한 학습 처리에 대해서, 도 46을 참조하여 설명한다.
스텝 S231에서, 고레벨 특징량 추출식 학습부(65)는, 저레벨 특징량 조와, 교사 데이터 중의 학습용 데이터를 이용하여, A번째의 학습 알고리즘에 적용하여 고레벨 특징량 추출식을 학습에 의해 추정한다.
스텝 S232에서, 고레벨 특징량 추출식 학습부(65)는, 스텝 S232의 처리 결과로서 얻어진 고레벨 특징량의 평가값으로서, 정보량 기준(AIC 또는 BIC)을 연산한다. 이상으로, 학습 알고리즘에 기초한 학습 처리는 종료된다.
도 45로 되돌아간다. 스텝 S217에서, 고레벨 특징량 추출식 학습부(65)는, 스텝 S216의 처리에서 얻은 고레벨 특징량 추출식을, 평가용 데이터를 이용하여 평가한다. 구체적으로는, 얻어진 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 연산하고, 평가용 데이터와의 제곱 오차를 산출한다.
스텝 S218에서, 제어부(27)는, 크로스 밸리데이션 루프 파라미터(C)가 최대값(c)보다도 작은지의 여부를 판정하여, 크로스 밸리데이션 루프 파라미터(C)가 최대값(c)보다도 작은 경우, 크로스 밸리데이션 루프 파라미터(C)를 1만 인크리먼트하고 처리를 스텝 S215로 복귀한다. 반대로, 크로스 밸리데이션 루프 파라미터(C)가 최대값(c)보다도 작지 않은 경우(크로스 밸리데이션 루프 파라미터(C)가 최대값(c)과 동일한 값인 경우), 크로스 밸리데이션 루프를 빠져나가서 처리를 스텝 S219로 진행시킨다. 스텝 S214 내지 S218의 크로스 밸리데이션 루프의 처리에 의해, c개의 학습 결과, 즉, 고레벨 특징량 추출식이 얻어진 것으로 된다. 또한, 크로스 밸리데이션 루프에 의해, 학습용 데이터와 평가용 데이터가 랜덤하게 변환되므로, 고레벨 특징량 추출식이 과학습되어 있지 않음을 확인할 수 있다.
스텝 S219에서, 고레벨 특징량 추출식 학습부(65)는, 크로스 밸리데이션 루 프에 의해 얻어진 c개의 학습 결과, 즉, 고레벨 특징량 추출식 중, 스텝 S217의 처리에서의 평가가 가장 높은 것을 선택한다.
스텝 S220에서, 제어부(27)는, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작은지의 여부를 판정하여, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작은 경우, 알고리즘 루프 파라미터(A)를 1만 인크리먼트하고 처리를 스텝 S214로 복귀한다. 반대로, 알고리즘 루프 파라미터(A)가 최대값(a)보다도 작지 않은 경우(알고리즘 루프 파라미터(A)가 최대값(a)과 동일한 값인 경우), 알고리즘 루프를 빠져나가서 처리를 스텝 S221로 진행시킨다. 스텝 S213 내지 S220의 알고리즘 루프의 처리에 의해, a종류의 학습 알고리즘에 의해 학습된 K번째의 종류의 고레벨 특징량 추출식이 a개 얻어진 것으로 된다.
스텝 S221에서, 고레벨 특징량 추출식 학습부(65)는, 알고리즘 루프에 의해 얻어진 a개의 학습 결과, 즉, 고레벨 특징량 추출식 중, 스텝 S217의 처리에서의 평가가 가장 높은 것을 선택한다.
스텝 S222에서, 제어부(27)는, 교사 데이터 루프 파라미터(K)가 최대값(k)보다도 작은지의 여부를 판정하여, 교사 데이터 루프 파라미터(K)가 최대값(k)보다도 작은 경우, 교사 데이터 루프 파라미터(K)를 1만 인크리먼트하고 처리를 스텝 S213으로 복귀한다. 반대로, 교사 데이터 루프 파라미터(K)가 최대값(k)보다도 작지 않은 경우(교사 데이터 루프 파라미터(K)가 최대값(k)과 동일한 값인 경우), 교사 데이터 루프를 빠져나가서 처리를 스텝 S223으로 진행시킨다. 스텝 S212 내지 S222의 교사 데이터 루프의 처리에 의해, N번째의 저레벨 특징량 추출식 리스트에 대응하는, k종류의 고레벨 특징량 추출식을 얻어진 것으로 된다.
스텝 S223에서, 제어부(27)는, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은지의 여부를 판정하여, 리스트 루프 파라미터(N)가 최대값(n)보다도 작은 경우, 리스트 루프 파라미터(N)를 1만 인크리먼트하고 처리를 스텝 S212로 복귀한다. 반대로, 리스트 루프 파라미터(N)가 최대값(n)보다도 작지 않은 경우(리스트 루프 파라미터(N)가 최대값(n)과 동일한 값인 경우), 리스트 루프를 빠져나가서 처리를 스텝 S224로 진행시킨다. 스텝 S211 내지 S223의 리스트 루프의 처리에 의해, n개의 저레벨 특징량 추출식 리스트에 각각 대응하는, k종류의 고레벨 특징량 추출식이 얻어진 것으로 된다.
스텝 S224에서, 고레벨 특징량 추출식 학습부(65)는, 얻어진 n개의 저레벨 특징량 추출식 리스트에 각각 대응하는, k종류의 고레벨 특징량 추출식에서의 각 저레벨 특징량의 기여율을 산출하고, 스텝 S217의 처리에서 계산한 고레벨 특징량 추출식의 평가값과 함께 저레벨 특징량 추출식 리스트 생성부(61)에 출력한다. 이상으로, 고레벨 특징량 추출식 학습 처리가 종료된다.
도 7로 되돌아간다. 스텝 S5에서, 제어부(27)는, 학습 루프 파라미터(G)가 최대값(g)보다도 작은지의 여부를 판정하여, 학습 루프 파라미터(G)가 최대값(g)보다도 작은 경우, 학습 루프 파라미터(G)를 1만 인크리먼트하고 처리를 스텝 S2로 복귀한다. 반대로, 학습 루프 파라미터(G)가 최대값(g)보다도 작지 않은 경우(학습 루프 파라미터(G)가 최대값(g)과 동일한 값인 경우), 학습 루프를 빠져나가서 처리를 스텝 S6으로 진행시킨다. 또한, 스텝 S1 내지 S5의 학습 룰이 특징량 추출 알고리즘의 학습 과정이고, 이 이후의 스텝 S6은, 특징량 추출 알고리즘을 이용한 고레벨 특징량의 연산을 위한 처리이다.
스텝 S6에서, 고레벨 특징량 추출식 학습부(65)는, 학습에 의해 얻어진 최종 세대의 n조의 저레벨 특징량 추출식 리스트 중, 얻어진 고레벨 특징량의 평균 평가값이 가장 높았던 저레벨 특징량 추출식 리스트를 구성하는 저레벨 특징량 추출식과, 이에 대응하는 k종류의 고레벨 특징량 추출식을 고레벨 특징량 연산부(26)에 공급한다.
스텝 S7에서, 고레벨 특징량 연산부(26)는, 고레벨 특징량 추출식 학습부(65)로부터 공급된 저레벨 특징량 추출식 및 고레벨 특징량 추출식 중, 마지막으로 고레벨 특징량 추출식 학습부(65)로부터 공급된 저레벨 특징량 추출식 및 고레벨 특징량 추출식을 이용하여 고레벨 특징량을 고정밀도로 연산한다. 또한, 이 스텝 S7에서의 고정밀도·고레벨 특징량 연산 처리에 대해서는, 전술한 특징량 추출 알고리즘 생성 장치(20)의 동작과 마찬가지이므로, 그 설명은 생략한다.
이상, 특징량 추출 알고리즘 생성 장치(60)에 의한 특징량 추출 알고리즘 생성 처리의 설명을 종료한다.
이상 설명한 바와 같이, 본 발명의 제2 실시예인 특징량 추출 알고리즘 생성 장치(60)에 의한 특징량 추출 알고리즘 학습 처리에 따르면, 악곡 데이터로부터 대응하는 특징량을 추출할 수 있는 알고리즘을, 고정밀도로 신속하게 생성하는 것이 가능하게 될 뿐만 아니라, 고정밀도의 고레벨 특징량만을 적은 연산량으로 취득하는 것이 가능하게 된다.
특히, 저레벨 특징량 추출식 리스트를 구성하는 식 수(m)를 랜덤하게 결정하고 있으므로, 특징량 추출 알고리즘 생성 장치(20)에 의한 특징량 추출 알고리즘 학습 처리에 비교하여, 저레벨 특징량의 수가 불필요하게 지나치게 많아서 처리가 무거워지거나, 정밀도가 충분히 나오지 않게 되거나 하는 것을 억지하여, 결과적으로 더 높은 정밀도를 얻을 수 있다.
또한, 본 발명은, 악곡의 고레벨 특징량을 취득하는 경우뿐만 아니라, 영상 데이터 등 모든 종류의 콘텐츠 데이터의 고레벨 특징량을 취득하는 경우에 적용하는 것이 가능하다.
그런데, 전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있지만, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 도 47에 도시한 바와 같이 구성된 범용의 퍼스널 컴퓨터 등에, 기록 매체로부터 인스톨된다.
이 퍼스널 컴퓨터(100)는, CPU(Central Processing Unit)(101)를 내장하고 있다. CPU(101)에는 버스(104)를 통하여, 입출력 인터페이스(105)가 접속되어 있다. 버스(104)에는, ROM(Read Only Memory)(102) 및 RAM(Random Access Memory)(103)이 접속되어 있다.
입출력 인터페이스(105)에는, 유저가 조작 커맨드를 입력하는 키보드, 마우스 등의 입력 디바이스로 이루어지는 입력부(106), 조작 화면 등을 표시하는 CRT(Cathode Ray Tube) 또는 LCD(Liquid Crystal Display) 등의 디스플레이로 이루어지는 출력부(107), 프로그램이나 각종 데이터를 저장하는 하드디스크 드라이브 등으로 이루어지는 기억부(108), 및 모뎀, LAN(Local Area Network) 어댑터 등으로 이루어지고, 인터넷으로 대표되는 네트워크를 통한 통신 처리를 실행하는 통신부(109)가 접속되어 있다. 또한, 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광 자기 디스크(MD(Mini Disc)를 포함함), 혹은 반도체 메모리 등의 기록 매체(111)에 대하여 데이터를 읽고 쓰기하는 드라이브(110)가 접속되어 있다.
이 퍼스널 컴퓨터(100)에 전술한 일련의 처리를 실행시키는 프로그램은, 기록 매체(111)에 저장된 상태로 퍼스널 컴퓨터(100)에 공급되고, 드라이브(110)에 의해 읽어내어 기억부(108)에 내장되는 하드디스크 드라이브에 인스톨되어 있다. 기억부(108)에 인스톨되어 있는 프로그램은, 입력부(106)에 입력되는 유저로부터의 커맨드에 대응하는 CPU(101)의 명령에 의해, 기억부(108)로부터 RAM(103)에 로드되어 실행된다.
또한, 본 명세서에서, 프로그램에 기초하여 실행되는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지는 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 프로그램은, 1대의 컴퓨터에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은, 먼 곳의 컴퓨터에 전송되어 실행되는 것이어도 된다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
또한, 본 발명의 실시예는, 전술한 실시예에 한정되는 것은 아니고, 본 발명의 요지를 일탈하지 않는 범위에서 여러 가지의 변경이 가능하다.

Claims (9)

  1. 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치로서,
    상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하는 저레벨 특징량 추출식 리스트 생성 수단과,
    상기 저레벨 특징량 추출식 리스트 생성 수단에 의해 생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하는 연산 수단과,
    상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 상기 연산 수단에 의해 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 고레벨 특징량 추출식 생성 수단
    을 포함하는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 고레벨 특징량 추출식 생성 수단은, 생성한 상기 고레벨 특징량 추출식의 정밀도, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽을 산출하고,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 고레벨 특징량 추출식 생성 수단에 의해 산출된 상기 고레벨 특징량 추출식의 정밀도, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽에 기초하여, 상기 저레벨 특징량 추출식 리스트를 구성하는 상기 저레벨 특징량 추출식을 갱신하는 정보 처리 장치.
  3. 제1항에 있어서,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 제1 세대의 상기 식 리스트를 랜덤하게 생성하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 차세대의 상기 식 리스트를 앞 세대의 상기 식 리스트에 기초한 유전적 알고리즘에 의해 선택 처리, 교차 처리, 또는 돌연변이 처리 중 적어도 1개에 의해 생성하는 정보 처리 장치.
  5. 제1항에 있어서,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 미리 설정된 상수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를 생성하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 리스트를 생성할 때마다 랜덤하게 결정하는 수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를 생성하는 정보 처리 장치.
  7. 제6항에 있어서,
    상기 고레벨 특징량 추출식 생성 수단은, 생성한 상기 고레벨 특징량 추출식의 평가값, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽을 산출하고,
    상기 저레벨 특징량 추출식 리스트 생성 수단은, 상기 고레벨 특징량 추출식 생성 수단에 의해 산출된 상기 고레벨 특징량 추출식의 평가값, 또는 상기 고레벨 특징량 추출식에서의 상기 저레벨 특징량의 기여율 중 적어도 한쪽에 기초하여, 상기 저레벨 특징량 추출식 리스트를 구성하는 상기 저레벨 특징량 추출식을 갱신하는 정보 처리 장치.
  8. 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치의 정보 처리 방법으로서,
    상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하고,
    생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하고,
    상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 스텝을 포함하는, 정보 처리 방법.
  9. 콘텐츠 데이터의 특징량을 검출하기 위한 특징량 검출 알고리즘을 생성하는 정보 처리 장치의 제어용 프로그램이 기록된 컴퓨터 판독가능 기록매체로서,
    상기 프로그램은,
    상기 콘텐츠 데이터 또는 상기 콘텐츠 데이터에 대응하는 메타데이터를 입력으로 하여 저레벨 특징량을 출력하는 복수의 저레벨 특징량 추출식으로 구성되는 차세대의 식 리스트를, 앞 세대의 상기 식 리스트에 기초한 학습에 의해 생성하고,
    생성된 상기 식 리스트를 이용하여 상기 저레벨 특징량을 연산하고,
    상기 콘텐츠 데이터에 대응하는 미리 준비된 참된 고레벨 특징량을 교사 데이터로 한 학습에 의해, 연산된 상기 저레벨 특징량을 입력으로 하여 상기 콘텐츠 데이터의 특징을 나타내는 고레벨 특징량을 출력하는 고레벨 특징량 추출식을 생성하는 스텝을 포함하는 처리를 컴퓨터에 실행시키는, 컴퓨터 판독가능 기록매체.
KR1020077014275A 2005-10-25 2006-10-25 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체 KR101193265B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00310410 2005-10-25
JP2005310410 2005-10-25
JP2006281267 2006-10-16
JPJP-P-2006-00281267 2006-10-16
PCT/JP2006/321260 WO2007049641A1 (ja) 2005-10-25 2006-10-25 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
KR20080069509A KR20080069509A (ko) 2008-07-28
KR101193265B1 true KR101193265B1 (ko) 2012-10-19

Family

ID=37967751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077014275A KR101193265B1 (ko) 2005-10-25 2006-10-25 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체

Country Status (6)

Country Link
US (1) US8315954B2 (ko)
EP (1) EP1843323B1 (ko)
JP (1) JP4948118B2 (ko)
KR (1) KR101193265B1 (ko)
CN (1) CN101091204B (ko)
WO (1) WO2007049641A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4239109B2 (ja) * 2006-10-20 2009-03-18 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4392620B2 (ja) 2007-08-14 2010-01-06 ソニー株式会社 情報処理装置、情報処理方法、演算装置、演算方法、プログラム、および記録媒体
EP2053549A3 (en) 2007-10-22 2010-06-02 Sony Corporation Information processing
US8131657B2 (en) 2007-10-22 2012-03-06 Sony Corporation Information processing device, information processing method, and program
JP4591566B2 (ja) * 2008-07-14 2010-12-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CA2740800A1 (en) * 2008-10-27 2010-05-06 Nippon Telegraph And Telephone Corporation Predicted pixel value generation procedure automatic producing method, image encoding method, image decoding method, apparatus therefor, programs therefor, and storage media whichstore the programs
JP5463655B2 (ja) 2008-11-21 2014-04-09 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5625235B2 (ja) 2008-11-21 2014-11-19 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5206378B2 (ja) 2008-12-05 2013-06-12 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5593608B2 (ja) 2008-12-05 2014-09-24 ソニー株式会社 情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラム
JP5282548B2 (ja) * 2008-12-05 2013-09-04 ソニー株式会社 情報処理装置、音素材の切り出し方法、及びプログラム
JP2011221133A (ja) 2010-04-06 2011-11-04 Sony Corp 情報処理装置、クライアント装置、サーバ装置、リスト生成方法、リスト取得方法、リスト提供方法、及びプログラム
JP2012039522A (ja) 2010-08-10 2012-02-23 Sony Corp 動画像処理装置、動画像処理方法およびプログラム
JP2012039523A (ja) * 2010-08-10 2012-02-23 Sony Corp 動画像処理装置、動画像処理方法およびプログラム
JP2012039524A (ja) 2010-08-10 2012-02-23 Sony Corp 動画像処理装置、動画像処理方法およびプログラム
CN102469350A (zh) * 2010-11-16 2012-05-23 北大方正集团有限公司 广告统计的方法、装置和系统
JP5909944B2 (ja) * 2011-09-08 2016-04-27 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5909943B2 (ja) * 2011-09-08 2016-04-27 ソニー株式会社 情報処理装置、推定機生成方法、及びプログラム
US10467533B2 (en) * 2015-12-29 2019-11-05 Tata Consultancy Services Limited System and method for predicting response time of an enterprise system
US10997492B2 (en) 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
WO2022168163A1 (ja) * 2021-02-02 2022-08-11 日本電信電話株式会社 生成装置、方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181401A1 (en) 2002-12-17 2004-09-16 Francois Pachet Method and apparatus for automatically generating a general extraction function calculable on an input signal, e.g. an audio signal to extract therefrom a predetermined global characteristic value of its contents, e.g. a descriptor
JP2004355174A (ja) 2003-05-28 2004-12-16 Ishihara Sangyo Kaisha Ltd データ解析方法及びそのシステム
JP2005253708A (ja) 2004-03-12 2005-09-22 Fuji Photo Film Co Ltd 特徴量選択装置、異常陰影判別装置およびプログラム
JP2005310410A (ja) 2004-04-16 2005-11-04 Toppan Printing Co Ltd 有機エレクトロルミネッセンス素子の製造方法及び装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020504A (ja) * 1998-06-30 2000-01-21 Toshiba Corp 目的変数の説明または予測方法、および目的変数を説明または予測するプログラムを記録した記録媒体
DE10123366C1 (de) 2001-05-14 2002-08-08 Fraunhofer Ges Forschung Vorrichtung zum Analysieren eines Audiosignals hinsichtlich von Rhythmusinformationen
DE10123281C1 (de) 2001-05-14 2002-10-10 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Analysieren eines Audiosignals hinsichtlich von Rhythmusinformationen des Audiosignals unter Verwendung einer Autokorrelationsfunktion
DE10157454B4 (de) 2001-11-23 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Erzeugen einer Kennung für ein Audiosignal, Verfahren und Vorrichtung zum Aufbauen einer Instrumentendatenbank und Verfahren und Vorrichtung zum Bestimmen der Art eines Instruments
DE10232916B4 (de) 2002-07-19 2008-08-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Charakterisieren eines Informationssignals
US6904955B2 (en) * 2002-09-20 2005-06-14 Lectrotherm, Inc. Method and apparatus for alternating pouring from common hearth in plasma furnace
DE10313875B3 (de) 2003-03-21 2004-10-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Analysieren eines Informationssignals
US7324927B2 (en) * 2003-07-03 2008-01-29 Robert Bosch Gmbh Fast feature selection method and system for maximum entropy modeling
JP4532139B2 (ja) 2004-02-10 2010-08-25 株式会社日立メディコ 磁気共鳴イメージング装置
JP4650662B2 (ja) 2004-03-23 2011-03-16 ソニー株式会社 信号処理装置および信号処理方法、プログラム、並びに記録媒体
JP4649859B2 (ja) 2004-03-25 2011-03-16 ソニー株式会社 信号処理装置および方法、記録媒体、並びにプログラム
DE102004028693B4 (de) 2004-06-14 2009-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt
DE102004047068A1 (de) 2004-09-28 2006-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Gruppieren von zeitlichen Segmenten eines Musikstücks
DE102004049478A1 (de) 2004-10-11 2006-04-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Glättung eines Melodieliniensegments
DE102004049457B3 (de) 2004-10-11 2006-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Extraktion einer einem Audiosignal zu Grunde liegenden Melodie
JP3882192B2 (ja) 2005-03-28 2007-02-14 東陶機器株式会社 湯水混合装置及びそれを備えた湯水混合水栓
JP2006274708A (ja) 2005-03-30 2006-10-12 Hitachi Plant Technologies Ltd 越流水の除塵装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181401A1 (en) 2002-12-17 2004-09-16 Francois Pachet Method and apparatus for automatically generating a general extraction function calculable on an input signal, e.g. an audio signal to extract therefrom a predetermined global characteristic value of its contents, e.g. a descriptor
JP2004355174A (ja) 2003-05-28 2004-12-16 Ishihara Sangyo Kaisha Ltd データ解析方法及びそのシステム
JP2005253708A (ja) 2004-03-12 2005-09-22 Fuji Photo Film Co Ltd 特徴量選択装置、異常陰影判別装置およびプログラム
JP2005310410A (ja) 2004-04-16 2005-11-04 Toppan Printing Co Ltd 有機エレクトロルミネッセンス素子の製造方法及び装置

Also Published As

Publication number Publication date
JP4948118B2 (ja) 2012-06-06
WO2007049641A1 (ja) 2007-05-03
JP2008123011A (ja) 2008-05-29
US20100094782A1 (en) 2010-04-15
US8315954B2 (en) 2012-11-20
EP1843323B1 (en) 2014-05-14
EP1843323A1 (en) 2007-10-10
CN101091204A (zh) 2007-12-19
CN101091204B (zh) 2013-11-27
KR20080069509A (ko) 2008-07-28
EP1843323A4 (en) 2010-04-07

Similar Documents

Publication Publication Date Title
KR101193265B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독가능 기록매체
JP4935047B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Turnbull et al. Fast recognition of musical genres using RBF networks
JP4987282B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN107273818A (zh) 遗传算法融合差分进化的选择性集成人脸识别方法
JP2020154564A (ja) 学習方法、学習プログラムおよび学習装置
US8712936B2 (en) Information processing apparatus, information processing method, and program
JP4433323B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2007122186A (ja) 情報処理装置、情報処理方法、およびプログラム
JP4392621B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4392622B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2009110212A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7468088B2 (ja) 画像処理システム、及び画像処理プログラム
CN112529179A (zh) 基于遗传算法的对抗训练方法、装置和计算机存储介质
CN115206270A (zh) 基于循环特征提取的音乐生成模型的训练方法、训练装置
Klinger et al. Evolutionary composition of music with learned melody evaluation
WO2024060066A1 (zh) 一种文本识别方法、模型及电子设备
WO2023073903A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7359380B2 (ja) 検出パラメタ生成装置、検出パラメタ生成方法、検出パラメタ生成プログラム、オブジェクト検出装置、オブジェクト検出方法、およびオブジェクト検出プログラム
JP2008181294A (ja) 情報処理装置および方法、並びにプログラム
JP2013164863A (ja) 情報処理装置、情報処理方法、およびプログラム
Jastrzebska et al. Optical music recognition as the case of imbalanced pattern recognition: A study of complex classifiers
JP5909944B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN117787331A (zh) 一种基于改进分组策略的代理辅助协同进化方法
Romsdorfer Weighted neural network ensemble models for speech prosody control.

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161007

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181005

Year of fee payment: 7