<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://daeunworld.xyz/feed.xml" rel="self" type="application/atom+xml" /><link href="https://daeunworld.xyz/" rel="alternate" type="text/html" hreflang="ko" /><updated>2026-09-04T11:17:03+09:00</updated><id>https://daeunworld.xyz/feed.xml</id><title type="html">Daeun World</title><subtitle>Programming과 각종 IT 이슈와 제품 정보를 전문적으로 다루는 웹 블로그입니다. 😄 / Problem Solving, Web, IT Technology</subtitle><author><name>Daeun</name></author><entry><title type="html">소/중/대형조 앵무새와 사람 음성의 음향학적 특징 비교</title><link href="https://daeunworld.xyz/aisw_maestro/2026/09/03/parrot-human-acoustics.html" rel="alternate" type="text/html" title="소/중/대형조 앵무새와 사람 음성의 음향학적 특징 비교" /><published>2026-09-03T00:00:00+09:00</published><updated>2026-09-03T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/09/03/parrot-human-acoustics</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/09/03/parrot-human-acoustics.html"><![CDATA[<p>8/31 IIPLAB 피드백 내용 중 일부.</p>

<ul>
  <li>대형조의 단어 모사의 경우, 사람이 듣기에 이게 사람의 발음인지/앵무새의 발음인지 판단되지 않을 정도로 유사함.
    <ul>
      <li>즉 대형조의 포먼트 등 음향학적 특징이 사람과 유사할 가능성이 있음</li>
      <li>따라서 whisper를 사용한 모사 판정이 가능할 수 있으니 체크 필요.</li>
      <li>또한 whisper 모델 크기별로(small<del>base</del>large) 경향성 차이가 크기 때문에 다양한 모델 크기에서 검증 필요.</li>
    </ul>
  </li>
  <li>소/중/대형조별로 차이가 뚜렷하게 있다면 Classification이 사람/앵무새가 아니라 사람/소/중/대형조 이렇게 4개의 class로 나누는 task가(내부적으로, 모델입장에서는) 되어야함.</li>
  <li>때문에 차이를 확인하는 것은 추후 진행에 중요.</li>
</ul>

<hr />

<p>진행한 과제</p>

<ol>
  <li>소/중/대형조와 사람의 음향학적 특징 공통점 차이점 분석</li>
  <li>Whisper 6종(tiny·base·small·medium·large-v3·large-v3-turbo)에 대한 소/중/대형조별 단어 모사 인식 테스트</li>
</ol>

<hr />

<h2 id="1-소중대형조와-사람의-음향학적-특징-비교-분석">1. 소/중/대형조와 사람의 음향학적 특징 비교 분석</h2>

<h3 id="1-1-사람의-음향학적-특징">1-1. 사람의 음향학적 특징</h3>

<ul>
  <li><strong>보호자가 말을 가르칠 때(학습 단어를 녹음할 때) 의도적으로 피치를 높여 발음하는 경향이 있는지 분석</strong></li>
</ul>

<p>앵무새는 높은 피치의 음을 잘 따라하는 것이 알려져 있으므로,<br />
<strong>“보호자가 말을 가르칠 때(학습 단어를 녹음할 때) 의도적으로 피치를 높여 발음하는 경향이 있는지 확인”</strong>하는 것을 추가 목표로 했다.</p>

<p>&lt;사람 - 평상시 대화 음성 F0&gt;</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>평균</th>
      <th>통용 범위</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>성인 남성</td>
      <td>~117Hz (Fitch &amp; Holbrook 1970: 116.65)</td>
      <td>85–155Hz (관례상 ~180까지)</td>
    </tr>
    <tr>
      <td>성인 여성</td>
      <td>~217Hz (동일 문헌: 217.00)</td>
      <td>165–255Hz</td>
    </tr>
  </tbody>
</table>

<p>&lt;사람 - 특이한 경우의 음성 F0&gt;</p>

<ul>
  <li>남성: 흉성 하한 ~65–80Hz(성악 베이스), 가성(falsetto) ~400–500Hz+</li>
  <li>여성: 대화·감정 표현 ~100–525Hz, 성악 소프라노 ~1000Hz(C6≈1047Hz)</li>
  <li>감정적 발화·외침: 여성 기준 400–600Hz 도달 가능</li>
</ul>

<p>&lt;사람(수집된 데이터) - Buddybird 서비스에 사용자가 등록한 단어 발음의 F0&gt;</p>

<table>
  <tbody>
    <tr>
      <td>전체(n=172): min 121</td>
      <td>p05 181</td>
      <td><strong>중앙값 378</strong></td>
      <td>p75 438</td>
      <td>p95 508</td>
      <td>max 557Hz</td>
    </tr>
  </tbody>
</table>

<p>문헌 대역별 분포 (word vs 배경 대화 대조군):</p>

<ul>
  <li>word: 앵무새에 가르치기 위한 단어 녹음
    <ul>
      <li>실제 buddybird 앱에서 수집된 것 + 유튜브에서 수집된 것</li>
    </ul>
  </li>
  <li>bg(backgroud): 학습 세션 중 수집된 사람 음성. 앵무새 소리가 아닌 사람의 대화 소리가 VAD로 잘못 캡쳐된 것
    <ul>
      <li>실제 buddybird 앱에서 수집된 것</li>
    </ul>
  </li>
</ul>

<table>
  <thead>
    <tr>
      <th>대역</th>
      <th style="text-align: right">word (n=172)</th>
      <th style="text-align: right">bg (n=857)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>85–180 (남성 대화)</td>
      <td style="text-align: right">4.7%</td>
      <td style="text-align: right">31.9%</td>
    </tr>
    <tr>
      <td>180–255 (여성 대화)</td>
      <td style="text-align: right">11.0%</td>
      <td style="text-align: right">41.2%</td>
    </tr>
    <tr>
      <td><strong>255–400 (상승 레지스터)</strong></td>
      <td style="text-align: right"><strong>44.8%</strong></td>
      <td style="text-align: right">21.6%</td>
    </tr>
    <tr>
      <td><strong>400–600 (극단 고음)</strong></td>
      <td style="text-align: right"><strong>39.5%</strong></td>
      <td style="text-align: right">4.8%</td>
    </tr>
  </tbody>
</table>

<h4 id="결과-요약">결과 요약</h4>

<ul>
  <li>word 클립의 <strong>84.3%가 여성 대화 상한(255Hz) 초과</strong>, 39.5%는 IDS/PDS 피크 대역(400Hz+).</li>
  <li>background 클립은 73%가 정상 대화 범위(85–255) 이다.</li>
  <li>따라서 ‘<strong>word 클립에서만 F0 상승이 관찰됨’</strong>.
    <ul>
      <li>중앙값 기준 배경 대화 208Hz 대비 +170Hz(거의 한 옥타브).</li>
    </ul>
  </li>
  <li>짧은 호출성 단어일수록 F0 상승하는 경향이 보인다.
    <ul>
      <li>최고 504 · 안녕 408 · 슈루룽 377 · 까꿍 345 · 코코야 341 · 안녕하세요 308 ·<br />
사랑해 278 · 귀여워 246</li>
    </ul>
  </li>
</ul>

<hr />

<h3 id="1-2-소중대형조의-음향학적-특징-분석">1-2. 소/중/대형조의 음향학적 특징 분석</h3>

<blockquote>
  <p>소/중/대형조의 단어 모사가 보이는 음향학적 특징을 분석한다.</p>

  <p>사람과 유사한 부분이 있으면, 사람 목소리 기준으로 사전학습된 whisper 등을 사용할 수 있는 여지가 있다.</p>
</blockquote>

<p>편의를 위한 용어 정의 !</p>

<ul>
  <li>사람 word: 앵무새에게 학습시킬 목적으로 보호자가 직접 녹음한 단어 발음 오디오</li>
  <li>단어 모사 시도: 앵무새가 단어를 따라하는 것</li>
</ul>

<p> </p>

<p>세부 과제</p>

<ul>
  <li>소/중/대형조 그룹별 단어 모사 시도,  사람 word 데이터에 대해</li>
  <li>
    <p>F0·포먼트·스펙트럼 3개 층위에서 비교</p>
  </li>
  <li>소/중/대형조 매핑:
    <ul>
      <li>소=budgerigar·lovebird·cockatiel</li>
      <li>중=conure·quaker·patagonian_conure </li>
      <li>대=eclectus·amazon·cockatoo</li>
    </ul>
  </li>
</ul>

<p> </p>

<p>&lt;크기 그룹별 종합 비교 (word 클립)&gt;</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th style="text-align: right">n</th>
      <th style="text-align: right">F0</th>
      <th>F1 / F2</th>
      <th style="text-align: right">centroid</th>
      <th style="text-align: right">flatness</th>
      <th style="text-align: right">vs 사람 AUC</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>사람 word</td>
      <td style="text-align: right">172</td>
      <td style="text-align: right">378Hz</td>
      <td>680 / 1686</td>
      <td style="text-align: right">1687</td>
      <td style="text-align: right">0.007</td>
      <td style="text-align: right">—</td>
    </tr>
    <tr>
      <td>소형조</td>
      <td style="text-align: right">80</td>
      <td style="text-align: right">2227Hz</td>
      <td>1956 / 2490</td>
      <td style="text-align: right">3877</td>
      <td style="text-align: right">0.029</td>
      <td style="text-align: right"><strong>1.000</strong></td>
    </tr>
    <tr>
      <td>중형조</td>
      <td style="text-align: right">185</td>
      <td style="text-align: right">1935Hz</td>
      <td>1303 / 2200</td>
      <td style="text-align: right">2712</td>
      <td style="text-align: right">0.089</td>
      <td style="text-align: right"><strong>1.000</strong></td>
    </tr>
    <tr>
      <td>대형조</td>
      <td style="text-align: right">86</td>
      <td style="text-align: right"><strong>376Hz</strong></td>
      <td><strong>780 / 1459</strong></td>
      <td style="text-align: right">1137</td>
      <td style="text-align: right">0.004</td>
      <td style="text-align: right"><strong>0.909</strong></td>
    </tr>
  </tbody>
</table>

<ul>
  <li>AUC = 로지스틱 회귀(11피처)로 “이 그룹 vs 사람 word”를 구분한 성능이다.
    <ul>
      <li>1.000 = 완전 분리, 0.5 = 구분 불가.</li>
    </ul>
  </li>
  <li>소→중→대로 갈수록 모든 주파수 지표가 단조 하강한다.
    <ul>
      <li>체구가 클수록 발성 기관이 커져, 소리가 낮아지는 <strong>체구-주파수 역상관</strong> 경향을 보인다.</li>
    </ul>
  </li>
</ul>

<p>&lt;소형조 (budgerigar·lovebird)&gt; - 사람과 구분되는 특징을 보인다.</p>

<ul>
  <li>F0 2227Hz로 사람(378Hz)의 약 6배(overlap ≤0.17)로 사람과 구분된다. </li>
  <li>사랑앵무는 사람 F0를 흉내 내지 않고 <strong>2–3kHz 대역 에너지 패턴으로 모사힌다.</strong>
    <ul>
      <li>실제로 사랑앵무는 사람 말을 정확하게 모사하는 개체가 드문 것으로 알려져 있다. </li>
      <li>F0가 높은 이유에서인지, 사람 단어보다는 휘파람을 잘 따라하는 것으로 알려져 있다. </li>
      <li>(Banta Lavenex 1999, 본 측정과 정량 일치).</li>
    </ul>
  </li>
  <li>“포먼트” 추정치(F1 1956)도 사람 모음 공간(F1 250–850·F2 800–2800) 밖이다.</li>
  <li>같은 단어(“안녕”)로 맞춰 비교해도 분리 유지(F0 2237 vs 사람 408).</li>
</ul>

<p>&lt;중형조 (conure·quaker 등)&gt; - 소형조만큼은 아니지만 사람과 구분되는 특징을 보인다.</p>

<ul>
  <li>F0 1935Hz·F1 1303·centroid 2712
    <ul>
      <li>전부 사람 범위 밖, 소형조보다는 낮은 중간 지점이다.</li>
    </ul>
  </li>
</ul>

<p>&lt;대형조&gt; - F0, 포먼트, 스펙트럼 모두 사람과 유사하다.</p>

<p>유사점:</p>

<ul>
  <li><strong>F0 376Hz ≈ 보호자 378Hz</strong> 
    <ul>
      <li><strong>사실상 동일 분포이다</strong> (단변량 AUC 0.579, 우연 수준).</li>
      <li>보호자 또한 word 발음의 피치가 높아, 대형조 F0 대역에 위치함.</li>
    </ul>
  </li>
  <li><strong>유일하게 사람 모음 포먼트 범위 안에 위치한다</strong> (F1 780·F2 1459).
    <ul>
      <li>F1–F2 평면에서 사람 군집과 인접·부분 중첩된다.</li>
    </ul>
  </li>
  <li>“명관(syrinx) 발성이라 스펙트럼 구조가 다를 것”이라는 가설과 달리,
    <ul>
      <li><strong>flatness 0.004 vs 사람 0.007로 사람 말과 같거나 더 조성적(harmonic)이다.</strong></li>
      <li>1.5kHz 이상 LTAS는 사람과 거의 일치한다.</li>
    </ul>
  </li>
  <li>같은 단어(“슈루룽”) 매칭(eclectus 48 vs 사람 14)에서도
    <ul>
      <li>F0 384 vs 377로 겹침.</li>
      <li>centroid 1054 vs 974로 겹침.</li>
    </ul>
  </li>
</ul>

<p>차이점:</p>

<ul>
  <li>에너지 배치: 300–900Hz 집중, 사람보다 &lt;300Hz 저주파가 부족하다. (centroid 1137 vs 1687).</li>
  <li>종합 AUC 0.909
    <ul>
      <li>음향학적 특징이 완전 일치하지는 않는다. 다만, 출처(영상/개체) 단위로 분류하여 학습하는<br />
grouped CV에서는 0.211로 붕괴된다. 따라서 <strong>새 개체에 일반화되는 분리 근거는 보이지 않는다.</strong></li>
    </ul>
  </li>
</ul>

<p>한계: 데이터 부족</p>

<ul>
  <li>대형조 word 86 = eclectus 76 (단일 유튜브 영상, 1~2개체 추정) + cockatoo 7 + amazon 3 </li>
</ul>

<h4 id="결과-정리">결과 정리</h4>

<ul>
  <li><strong>소/중형조는 F0·포먼트·스펙트럼 모든 층위에서 사람과 완전 분리</strong>(AUC 1.000)</li>
  <li><strong>대형조만 세 층위 모두 사람 근접</strong>(AUC 0.909).
    <ul>
      <li>특히 F0는 보호자 고음 레지스터(§1-1)와 사실상 동일 대역(376 vs 378Hz)인 케이스가 존재.</li>
    </ul>
  </li>
  <li>대형조 모사 발성은 사람보다 <strong>더 조성적</strong>이고,<br />
차이는 스펙트럼 구조가 아닌 에너지 배치·포먼트 잔차(F1 +12%·F2 +17%)에 있음.</li>
</ul>

<hr />

<ul>
  <li>소/중형조는 비슷한 음향적 성격을 보이므로 굳이 나눌 필요가 없다고 판단된다. </li>
  <li> <code class="language-plaintext highlighter-rouge">소&amp;중 / 대형조</code>로 분리하여 처리하는 것은 효과가 있을 수 있으므로 검토 필요하다.</li>
</ul>

<blockquote>
  <p>whisper가 앵무새의 단어 모사를 제대로 인식하는지 테스트 진행 후, 소/중/대형조로 분리할 필요가 있을지 최종 판단이 필요해 보인다.</p>
</blockquote>

<p> </p>

<h3 id="만약-소중대형조-2가지로-분류가-필요하다고-해도">만약 소&amp;중/대형조 2가지로 분류가 필요하다고 해도,</h3>

<p>현재 서비스 상에서 <code class="language-plaintext highlighter-rouge">앵무새 종</code>을 등록하도록 되어 있으므로, </p>

<p><code class="language-plaintext highlighter-rouge">앵무새 소리 여부 판별 모델</code>에서는 기존대로 ‘앵무/비앵무’ 여부만 판별하고, <code class="language-plaintext highlighter-rouge">앵무새 종</code>정보로 소/중/대형조 여부를 나누는 방안이 현실적으로 보인다. 짧은 개발 기간 및 부족한 대형조 데이터를 고려해야 하기 떄문이다.</p>

<hr />

<h3 id="추가-정보---서비스-이용자-중-대형조는-약-3-macaw-african-grey-amazon">추가 정보 - 서비스 이용자 중 대형조는 약 3% (macaw, african-grey, amazon)</h3>

<p>국내 애완조시장의 경우 중형조인 conure, quaker / 소형조인 lovebird, budgie가 70~80%를 차지하는 것으로 알려져 있다. </p>

<p>(통계자료 - 26-09-03 기준)</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-09-03-parrot-human-acoustics/species.png" alt="서비스 이용자 앵무새 종 분포 통계" /></p>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><category term="음향학" /><category term="F0" /><category term="포먼트" /><category term="스펙트럼" /><category term="Whisper" /><category term="단어_모사" /><category term="모사_성공_판정" /><category term="소형조" /><category term="중형조" /><category term="대형조" /><summary type="html"><![CDATA[IIPLAB 피드백을 바탕으로 BuddyBird의 사람 word 음성과 소·중·대형조 앵무새 단어 모사 시도의 F0, 포먼트, 스펙트럼 특징을 비교하고, 대형조 발성이 사람 음성과 가까워지는 조건과 한계를 정리한 분석 기록입니다.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-09-03-parrot-human-acoustics/species.png" /><media:content medium="image" url="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-09-03-parrot-human-acoustics/species.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">소/중/대형조별 Whisper의 ‘앵무새 단어 모사’ 전사 성능 분석</title><link href="https://daeunworld.xyz/aisw_maestro/2026/09/03/whisper-mimicry-recognition.html" rel="alternate" type="text/html" title="소/중/대형조별 Whisper의 ‘앵무새 단어 모사’ 전사 성능 분석" /><published>2026-09-03T00:00:00+09:00</published><updated>2026-09-03T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/09/03/whisper-mimicry-recognition</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/09/03/whisper-mimicry-recognition.html"><![CDATA[<p>아래 포스트에 이은 내용입니다!</p>

<p><a href="http://daeunworld.xyz/aisw_maestro/2026/09/03/parrot-human-acoustics.html">http://daeunworld.xyz/aisw_maestro/2026/09/03/parrot-human-acoustics.html</a></p>

<hr />

<p><strong>8/31 IIPLAB 피드백 내용 중 일부.</strong></p>

<ul>
  <li><strong>대형조의 단어 모사의 경우, 사람이 듣기에 이게 사람의 발음인지/앵무새의 발음인지 판단되지 않을 정도로 유사함.</strong>
    <ul>
      <li><strong>즉 대형조의 포먼트 등 음향학적 특징이 사람과 유사할 가능성이 있음</strong></li>
      <li><strong>따라서 whisper를 사용한 모사 판정이 가능할 수 있으니 체크 필요.</strong></li>
      <li><strong>또한 whisper 모델 크기별로(small<del>base</del>large) 경향성 차이가 크기 때문에 다양한 모델 크기에서 검증 필요.</strong></li>
    </ul>
  </li>
  <li><strong>소/중/대형조별로 차이가 뚜렷하게 있다면 Classification이 사람/앵무새가 아니라 사람/소/중/대형조 이렇게 4개의 class로 나누는 task가(내부적으로, 모델입장에서는) 되어야함.</strong></li>
  <li><strong>때문에 차이를 확인하는 것은 추후 진행에 중요.</strong></li>
</ul>

<hr />

<p><strong>진행한 과제</strong></p>

<ol>
  <li><strong>소/중/대형조와 사람의 음향학적 특징 공통점 차이점 분석</strong></li>
  <li><strong>Whisper 6종(tiny·base·small·medium·large-v3·large-v3-turbo)에 대한 소/중/대형조별 단어 모사 인식 테스트</strong></li>
</ol>

<hr />

<hr />

<h2 id="2-whisper-6종tinybasesmallmediumlarge-v3large-v3-turbo에-대한-소중대형조별-단어-모사-인식-테스트">2. Whisper 6종(tiny·base·small·medium·large-v3·large-v3-turbo)에 대한 소/중/대형조별 단어 모사 인식 테스트</h2>

<p>`</p>

<ol>
  <li>소/중/대형조와 사람의 음향학적 특징 공통점 차이점 분석`에서 확인한 것:</li>
</ol>

<blockquote>
  <p><strong>대형조(사실상 eclectus)의 단어 모사는 F0·포먼트·스펙트럼 모두 사람 음성과 근접</strong>했다. 그렇다면 사람 목소리로 사전학습된 Whisper가 앵무새의 단어 모사를 텍스트로 인식할 수 있을까?</p>

  <p><strong>Whisper 6종으로</strong> <code class="language-plaintext highlighter-rouge">data/raw</code> <strong>전체를 전사</strong>하되, 2-1의 주 지표는
step2가 완벽하게 동작했다고 가정하고 <strong>앵무새 단어 모사(word) 클립만</strong> 집계했다.
잡음·비발화는 단어 인식률에 넣지 않고, 하단 환각률 분석에서만 따로 확인했다.</p>
</blockquote>

<h3 id="2-0-실험-설계">2-0. 실험 설계</h3>

<ul>
  <li>가정:
    <ul>
      <li>앞단의 step2 parrot gate가 사람 음성·잡음 등 비앵무 입력을 걸러냈다고 가정</li>
      <li>2-1 단어 인식률은 그 다음 단계의 <strong>앵무새 단어 모사(word) 클립만</strong> 대상으로 계산</li>
      <li>앵무 비발화(non_speech)는 단어 인식률 대상이 아니며, 하단 환각률 분석에서만 별도 확인</li>
    </ul>
  </li>
  <li><strong>전사 대상</strong>:
    <ul>
      <li><code class="language-plaintext highlighter-rouge">data/raw</code> 전체 2,771클립</li>
    </ul>
  </li>
  <li><strong>2-1 주 평가 대상</strong>:
    <ul>
      <li><code class="language-plaintext highlighter-rouge">content_type=word</code>인 단어 클립만 집계(test_only·mixed 제외)</li>
      <li>이 중 서비스 목적에 해당하는 <strong>앵무새 단어 모사</strong> 분모는 소형조 80 + 중형조 196 + 대형조 86 = <strong>362클립</strong></li>
      <li><code class="language-plaintext highlighter-rouge">사람(보호자)</code> 172클립은 사람이 말한 기준음성을 Whisper가 얼마나 잘 듣는지 보는 참고 baseline</li>
      <li><code class="language-plaintext highlighter-rouge">noise/background</code>와 <code class="language-plaintext highlighter-rouge">non_speech</code>는 2-1 단어 인식률 표에서 제외하고, 하단 환각률 표에서만 별도 확인</li>
    </ul>
  </li>
  <li><strong>언어</strong>: <code class="language-plaintext highlighter-rouge">language="ko"</code></li>
  <li><strong>판정 기준</strong>:
    <ul>
      <li><strong>포함</strong>: 정규화(공백·문장부호 제거) 후 타깃 단어가 전사에 부분 문자열로 포함.
        <ul>
          <li>ex. <code class="language-plaintext highlighter-rouge">안녕하세요</code> -&gt; <code class="language-plaintext highlighter-rouge">'안녕'</code>의 정답으로 인정!</li>
        </ul>
      </li>
      <li><strong>‘레벤슈타인 거리’ 알고리즘으로 발음 유사도 수치화</strong>:
        <ul>
          <li>두 문자열이 얼마나 유사한지 편집거리를 측정하는 알고리즘</li>
          <li>정확 어휘가 아니어도 <strong>음운이 가까우면</strong>(자모 CER ≤ 0.5, ex. ‘슈루룽’→’슈루루’) 모사를 성공한 것으로 인정</li>
        </ul>
      </li>
    </ul>
  </li>
  <li><strong>크기 매핑</strong>: 1편과 동일
    <ul>
      <li>소=budgerigar·lovebird·cockatiel</li>
      <li>중=conure·quaker·patagonian_conure</li>
      <li>대=eclectus·amazon·cockatoo</li>
    </ul>
  </li>
</ul>

<hr />

<h3 id="2-1-wisper-모델-크기-별-오디오-그룹별-단어-인식">2-1. Wisper 모델 크기 별 오디오 그룹별 단어 인식</h3>

<p>아래 두 표는 <strong>단어 클립만</strong> 집계한 결과다. 잡음·앵무 비발화는 포함하지 않는다.
<code class="language-plaintext highlighter-rouge">사람(보호자)</code> 행은 비교 기준선이고, 실제 step4 목적 데이터는 소/중/대형조 앵무새
단어 모사 362클립이다.</p>

<p><code class="language-plaintext highlighter-rouge">&lt;그룹 × 모델 인식률 (포함 판정)&gt;</code></p>

<table>
  <thead>
    <tr>
      <th>그룹 (word)</th>
      <th style="text-align: right">n</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>large-v3-turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>사람(보호자)</td>
      <td style="text-align: right">172</td>
      <td>.65</td>
      <td>.35</td>
      <td>.70</td>
      <td><strong>.72</strong></td>
      <td>.69</td>
      <td>.70</td>
    </tr>
    <tr>
      <td>소형조(lovebird)</td>
      <td style="text-align: right">80</td>
      <td>.01</td>
      <td>.00</td>
      <td>.00</td>
      <td>.00</td>
      <td>.00</td>
      <td>.00</td>
    </tr>
    <tr>
      <td>중형조(conure·quaker)</td>
      <td style="text-align: right">196</td>
      <td>.16</td>
      <td>.02</td>
      <td>.05</td>
      <td>.10</td>
      <td>.14</td>
      <td><strong>.16</strong></td>
    </tr>
    <tr>
      <td>대형조(eclectus 등)</td>
      <td style="text-align: right">86</td>
      <td>.11</td>
      <td>.01</td>
      <td>.02</td>
      <td>.06</td>
      <td>.17*</td>
      <td>.08</td>
    </tr>
  </tbody>
</table>

<p>(*turbo 대형조 0.17은 <code class="language-plaintext highlighter-rouge">아</code>처럼 짧은 단어가 모델의 임의 출력과 쉽게 겹쳐 높게 나온 값으로 보인다.)</p>

<p><code class="language-plaintext highlighter-rouge">&lt;그룹 × 모델 인식률 (완화 판정 — 자모 CER≤0.5)&gt;</code></p>

<table>
  <thead>
    <tr>
      <th>그룹 (word)</th>
      <th style="text-align: right">n</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>large-v3-turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>사람(보호자)</td>
      <td style="text-align: right">172</td>
      <td>.72</td>
      <td>.44</td>
      <td>.80</td>
      <td><strong>.84</strong></td>
      <td>.83</td>
      <td><strong>.91</strong></td>
    </tr>
    <tr>
      <td>소형조(lovebird)</td>
      <td style="text-align: right">80</td>
      <td>.10</td>
      <td>.01</td>
      <td>.10</td>
      <td>.01</td>
      <td>.74*</td>
      <td>.05</td>
    </tr>
    <tr>
      <td>중형조(conure·quaker)</td>
      <td style="text-align: right">196</td>
      <td>.19</td>
      <td>.03</td>
      <td>.05</td>
      <td>.13</td>
      <td>.21</td>
      <td>.20</td>
    </tr>
    <tr>
      <td>대형조(eclectus 등)</td>
      <td style="text-align: right">86</td>
      <td>.19</td>
      <td>.09</td>
      <td>.33</td>
      <td><strong>.35</strong></td>
      <td>.41</td>
      <td><strong>.56</strong></td>
    </tr>
  </tbody>
</table>

<p>(*소형조 turbo .74는 실제로 <code class="language-plaintext highlighter-rouge">안녕</code>을 들은 것이 아니라, turbo가 반복 출력한 <code class="language-plaintext highlighter-rouge">다음 영상에서 만나요</code>가 완화 기준에 걸려 높게 나온 값으로 보인다.)</p>

<p><strong>↓ 단어별 상세 — 각 단어를 6모델이 실제로 뭐라고 전사했나 (per_word_transcription.md)</strong></p>

<blockquote>
  <p>셀 = 전사 문자열 분포(개수순, <code class="language-plaintext highlighter-rouge">/</code>로 구분). 인식 기호:</p>

  <p><strong>✓ 정확·포함</strong> <br />
<strong>≈ 근접</strong>
(자모 단위 CER≤0.5 — 자음 골격이 가까움, 예 슈루룽→<code class="language-plaintext highlighter-rouge">슈루루</code>·<code class="language-plaintext highlighter-rouge">샤라랑</code>).<br />
✓·≈를 “성공”으로
본다.</p>

  <p>오통과율은 낮다(large-v3 오답단어 0.6%·비발화 2.4%).</p>
</blockquote>

<h4 id="-대형조-eclectusamazoncockatoo">🦜 대형조 (eclectus·amazon·cockatoo)</h4>

<table>
  <thead>
    <tr>
      <th>단어</th>
      <th style="text-align: right">n</th>
      <th>종</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>슈루룽</td>
      <td style="text-align: right">48</td>
      <td>eclectus</td>
      <td>48 기타(Ciao synthesis!·DARD brightest·Shaudeudos 등)</td>
      <td>3 수고하셨습니다. / 45 기타(Review·See you soon!·Square&lt;/ko/&gt; 등)</td>
      <td>≈2 슈르르 / ≈1 슈뚜뚜 / ≈1 슈루브! / ≈1 슈르릉 / ≈1 슬라임 / ≈1 슬라임! / ≈1 쭈-루-루-루- / 40 기타((빈)·Center Tail·Dry your tears 등)</td>
      <td>4 샤라라 / ≈4 슈루라 / ≈4 슈루라! / 3 (빈) / ≈3 슈루룩 / ≈3 슈르르 / 3 슈리더! / ≈2 슈루롱 / 2 슈퍼롤 / 2 출발! / ≈1 슈두두! / ≈1 슈두두두 / ≈1 슈투루 / ≈1 슈투룸 / 14 기타(job hacerlo·knows·lights out! 등)</td>
      <td>≈2 슈르르다 / ≈2 슈리로우 / 2 안녕하십니까 / ≈1 샤루야! / ≈1 슈루다 / ≈1 슈르라 / ≈1 슈르릉! / ≈1 슈리다우 / ≈1 슈리로 / ≈1 쭈루루루 / ≈1 쭈루루룩! / 34 기타(SHGUGO.·carrier·deserted 등)</td>
      <td>≈9 슈루루 / ≈8 슈르르 / ≈3 샤라랑 / 2 샤라라 / ≈2 슈리로 / 2 안녕 / ≈1 샤두루 / ≈1 슈루타 / ≈1 슈루포 / ≈1 슈르렁 / 18 기타(gadotang·shoulders·구독하고 등)</td>
    </tr>
    <tr>
      <td>아</td>
      <td style="text-align: right">16</td>
      <td>eclectus</td>
      <td>✓3 아아 / ✓2 아… / ≈1 압? / ≈1 어? / ≈1 어?! / ≈1 에쩍! / ✓1 으아?! / ✓1 으아AH 으 reliabili… / ≈1 하고 / 4 기타(AUP·Right.·UHAㅣㅣ 등)</td>
      <td>6 (빈) / ≈1 “] 압endre?” / ≈1 뭐 하지? / ≈1 새chts까지 다음 번째 / ≈1 시원치 / ≈1 어? / ≈1 어허 / ≈1 와, 여기 이제 / 3 기타(noi는·р·뭐..)</td>
      <td>≈3 어? / ≈3 응? / ≈1 väldigt 맛있는 것 ch… / ≈1 각? / ≈1 어?! / ≈1 어?! darkest night / ≈1 얼 ficar / ✓1 와, 아. / ≈1 이제 간식 먹을 수 있었고. … / 3 기타(cknowرك·ious·해)</td>
      <td>11 (빈) / ≈3 응? / ✓1 아아… / 1 기타(ょ)</td>
      <td>✓4 아 / ✓2 아아! / ✓2 아아? / ✓1 아! / ✓1 아? / ✓1 아инг.. / ✓1 아아 / ≈1 어? / ≈1 찾았다 지난로 / ≈1 흐어? / 1 기타(AWS)</td>
      <td>≈11 응? / 3 (빈) / ✓1 아암 / ≈1 어?</td>
    </tr>
    <tr>
      <td>안녕</td>
      <td style="text-align: right">4</td>
      <td>cockatoo</td>
      <td>≈1 아이 Так ㅋㅋ / ✓1 안녕 / 2 기타(뭐한 말?·어?)</td>
      <td>3 (빈) / 1 기타(ар)</td>
      <td>2 (빈) / ✓1 안녕! / 1 기타(아빠)</td>
      <td>3 (빈) / 1 기타(머리카락)</td>
      <td>4 기타(radas·아!!·여기가 Death 등)</td>
      <td>2 (빈) / ✓1 안녕 / 1 기타(감사합니다.)</td>
    </tr>
    <tr>
      <td>안녕하세요</td>
      <td style="text-align: right">3</td>
      <td>cockatoo</td>
      <td>3 기타((빈)·끌..·안32)</td>
      <td>2 (빈) / 1 기타(아아하하)</td>
      <td>3 기타((빈)·clothing·두 번째 eats)</td>
      <td>3 기타((빈)·ㅋㅋㅋ·으허허)</td>
      <td>3 기타(rt·사실?·하하)</td>
      <td>2 (빈) / 1 기타(아깝다)</td>
    </tr>
    <tr>
      <td>뚜둥</td>
      <td style="text-align: right">2</td>
      <td>eclectus</td>
      <td>2 기타(구독!·더&lt;/ur/&gt;해)</td>
      <td>2 기타((빈)·덜웡)</td>
      <td>2 기타(descent·짜잔!)</td>
      <td>2 기타((빈)·짜잔)</td>
      <td>≈1 뚜뚜 / 1 기타(도라오!)</td>
      <td>✓1 뚜둥 / ≈1 뚜뚜</td>
    </tr>
    <tr>
      <td>핫뚜</td>
      <td style="text-align: right">2</td>
      <td>eclectus</td>
      <td>2 기타(아주.·안녕..)</td>
      <td>2 기타(가자·갔다!!)</td>
      <td>≈1 핫ere / ≈1 핫도그</td>
      <td>2 기타(하트·하트!)</td>
      <td>≈1 하시는 분들은 / 1 기타(하프ào)</td>
      <td>2 기타(하트·하트!)</td>
    </tr>
    <tr>
      <td>가보자</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(Wales)</td>
      <td>1 기타(가프들을.)</td>
      <td>1 기타(Wales)</td>
      <td>1 기타(Wales)</td>
      <td>✓1 가보자</td>
      <td>≈1 각 아.</td>
    </tr>
    <tr>
      <td>뚜두두둥</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(자, 자, 자, 자, 자)</td>
      <td>1 기타(boo oder)</td>
      <td>1 기타(따따따따!)</td>
      <td>≈1 뚜두뚜둥</td>
      <td>1 기타(도도도도)</td>
      <td>1 기타(따라라라)</td>
    </tr>
    <tr>
      <td>뚜두둣</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(도도도!)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(툭툭!)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(구독!)</td>
      <td>1 기타(도도도)</td>
    </tr>
    <tr>
      <td>뚜두둥</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(&lt;/mi/&gt;what do do…)</td>
      <td>1 기타(الت)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(따따똥)</td>
      <td>1 기타(도도도)</td>
      <td>≈1 뚜뚜뚜</td>
    </tr>
    <tr>
      <td>뚜루룽</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(잘oz 무)</td>
      <td>1 기타(따뜻!)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(따라�asters)</td>
      <td>1 기타(такая)</td>
      <td>1 기타(투두둑)</td>
    </tr>
    <tr>
      <td>빠이빠이</td>
      <td style="text-align: right">1</td>
      <td>amazon</td>
      <td>1 기타(85)</td>
      <td>✓1 빠이빠이</td>
      <td>≈1 바이바이</td>
      <td>✓1 빠이빠이</td>
      <td>≈1 바이바이</td>
      <td>✓1 빠이빠이</td>
    </tr>
    <tr>
      <td>아랑아밥주세요</td>
      <td style="text-align: right">1</td>
      <td>amazon</td>
      <td>1 기타(잘하는 G-PASTER!)</td>
      <td>1 기타(알 user 파 thrilled)</td>
      <td>≈1 알아봐 봤어요</td>
      <td>1 기타(안녕히계세요)</td>
      <td>≈1 사랑해 봐주세요</td>
      <td>1 기타(알람 해봤어요?)</td>
    </tr>
    <tr>
      <td>엄마</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>≈1 오맞!</td>
      <td>1 기타(うん�ρ)</td>
      <td>1 기타(비비 Online)</td>
      <td>✓1 엄마</td>
      <td>✓1 엄마!</td>
      <td>✓1 엄마!</td>
    </tr>
    <tr>
      <td>여보세요</td>
      <td style="text-align: right">1</td>
      <td>amazon</td>
      <td>1 기타(cafeter장 an skin…)</td>
      <td>1 기타(그러면 gonna überze…)</td>
      <td>1 기타(잘 먹겠습니다)</td>
      <td>✓1 여보세요?</td>
      <td>1 기타(가요가요~!)</td>
      <td>✓1 여보세요?</td>
    </tr>
    <tr>
      <td>와</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>1 기타(WAN!!!)</td>
      <td>1 기타(씩…)</td>
      <td>≈1 왜 students</td>
      <td>✓1 와아</td>
      <td>✓1 와아</td>
      <td>✓1 와아</td>
    </tr>
    <tr>
      <td>이</td>
      <td style="text-align: right">1</td>
      <td>eclectus</td>
      <td>✓1 에이..</td>
      <td>1 기타(둘.)</td>
      <td>≈1 완성has</td>
      <td>≈1 먹 자연스럽게</td>
      <td>≈1 아아!</td>
      <td>≈1 (빈)</td>
    </tr>
  </tbody>
</table>

<h4 id="-중형조-conurequakerpatagonian_conure">🦜 중형조 (conure·quaker·patagonian_conure)</h4>

<table>
  <thead>
    <tr>
      <th>단어</th>
      <th style="text-align: right">n</th>
      <th>종</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>안녕</td>
      <td style="text-align: right">118</td>
      <td>conure,quaker</td>
      <td>✓26 안녕! / 20 (빈) / 2 끝! / ✓2 안녕 / ✓1 그럼 안녕oped / ≈1 되게 너무 귀여워 / ✓1 안녕하세요 / ✓1 안녕히와 하&lt;/pl/&gt; / ≈1 안왔다. / ≈1 이와 아프네요 이 format… / ≈1 작업을 태체�uren 이젅진 … / 61 기타(1, 2, 3·A과�UND·BGM 등)</td>
      <td>100 (빈) / ✓2 안녕! / ≈1 아, 나 협! / ✓1 안녕? / 14 기타(aprender감 있는 그런 …·p Só·synching 등)</td>
      <td>102 (빈) / ✓7 안녕! / ✓2 안녕 / 7 기타(Galaxy S10 enemi…·구독 부탁드려요~!·끝! 등)</td>
      <td>84 (빈) / ✓13 안녕! / ≈5 다음 영상에서 만나요! / ✓4 안녕 / 2 앗차! / 2 야! / ≈1 앗앗 / 7 기타(뀨!·끝!·앗! 등)</td>
      <td>✓14 안녕! / ✓9 안녕 / ≈8 다음 영상에서 만나요. / 3 감사합니다. / ✓3 안녕. / 2 가자 / 2 으 / 2 하하 / ≈1 아놔 / ✓1 안녕하세요. / ≈1 오늘 김 Rex они 참치된… / 72 기타(ATT release·Bay okay!!·Bill 등)</td>
      <td>64 (빈) / ✓28 안녕 / 11 감사합니다. / 2 끝! / ✓2 안녕! / 2 자막은 설정에서 선택하실 수 … / ✓1 안녕하세요 여러분! 오늘은 이… / ≈1 영상편집 및 자막이 도움이 되… / ≈1 촬영기자1호, 박진주 기상캐스터 / 6 기타(1, 2, 3·ㅎㅎ·거짓말을 culpawards 등)</td>
    </tr>
    <tr>
      <td>안녕하세요</td>
      <td style="text-align: right">25</td>
      <td>conure,quaker</td>
      <td>8 (빈) / ✓1 안녕하세요! / 16 기타(679·PDF·lay 등)</td>
      <td>20 (빈) / 5 기타(ASF1 BGM·ominous·sustainable 등)</td>
      <td>20 (빈) / 5 기타(으워 안 돼·으흐흐·이제文Canad sustain… 등)</td>
      <td>23 (빈) / 2 기타(worthwhile·ㅎㅎㅎㅎ)</td>
      <td>2 하하하 / ≈1 다음 영상에서 만나요. / ≈1 안녕! / ≈1 안녕히가. / 20 기타(advogatedako �cy…·chutz·elen Sin Hazine 등)</td>
      <td>17 (빈) / ≈3 안녕히 계세요. / ≈1 안녕히 계세요 / ≈1 안녕히 계세요! / 3 기타(고마워요·왔다 왔다·응응)</td>
    </tr>
    <tr>
      <td>사랑해</td>
      <td style="text-align: right">11</td>
      <td>conure,quaker</td>
      <td>3 (빈) / 8 기타(face·사� comparative형·아라기이아 등)</td>
      <td>6 (빈) / ≈1 헐!! 사람들이 / 4 기타(아 pattern·아니 아니… 씨… Wa…·안녕하세요. 등)</td>
      <td>7 (빈) / 4 기타(……·fist Olive·phabet 등)</td>
      <td>9 (빈) / 2 기타(끝·아 인생 Alyama)</td>
      <td>11 기타(Martin·ah 앞장·if me 등)</td>
      <td>7 (빈) / 4 기타(Soul·쉿!·안녕하세요. 오늘은 이곳에서 … 등)</td>
    </tr>
    <tr>
      <td>코코야</td>
      <td style="text-align: right">10</td>
      <td>conure</td>
      <td>2 (빈) / 8 기타(alert ♥·drauf·pod..! 등)</td>
      <td>8 (빈) / 2 기타(espera! 비트gregto…·vero琢)</td>
      <td>9 (빈) / 1 기타(다hai)</td>
      <td>10 (빈)</td>
      <td>2 다음 영상에서 만나요. / 8 기타(감사합니다.·그럼НАm과를 확인himpler·날씨였습니다. 등)</td>
      <td>9 (빈) / 1 기타(뿌야)</td>
    </tr>
    <tr>
      <td>까꿍</td>
      <td style="text-align: right">5</td>
      <td>patagonian_conure,quaker</td>
      <td>5 기타(긴 ash·에피ography.·욕사심 등)</td>
      <td>3 (빈) / 2 기타(inclusive·방을)</td>
      <td>5 기타((빈)·Blockhouse·끝! 등)</td>
      <td>✓2 까꿍 / ≈1 까까 / 2 기타((빈)·하하)</td>
      <td>5 기타(Ridgeway·ogo·та구 등)</td>
      <td>4 (빈) / 1 기타(다고)</td>
    </tr>
    <tr>
      <td>귀여워</td>
      <td style="text-align: right">4</td>
      <td>conure</td>
      <td>4 기타(todo, cloak, 앨�u…·번짓 얘가·시작 등)</td>
      <td>4 (빈)</td>
      <td>4 (빈)</td>
      <td>2 (빈) / 2 기타(쀼!·쨔압)</td>
      <td>4 기타(ㅜㅜ ㅇ gosto·아니였다·자 등)</td>
      <td>2 (빈) / 2 쭈욱</td>
    </tr>
    <tr>
      <td>뽀뽀</td>
      <td style="text-align: right">4</td>
      <td>quaker</td>
      <td>2 (빈) / 2 기타(okay·한번 나� Immer줘!)</td>
      <td>4 (빈)</td>
      <td>4 (빈)</td>
      <td>4 (빈)</td>
      <td>2 감사합니다. / 2 기타(배지·오케이)</td>
      <td>2 (빈) / 2 기타(감사합니다.·구독과 좋아요를 눌러주세요.)</td>
    </tr>
    <tr>
      <td>안녕안녕</td>
      <td style="text-align: right">3</td>
      <td>quaker</td>
      <td>2 (빈) / 1 기타(андhip)</td>
      <td>3 (빈)</td>
      <td>3 (빈)</td>
      <td>2 (빈) / 1 기타(쯧쯧쯧)</td>
      <td>✓1 안녕 안녕 / 2 기타(다음 영상에서 만나요.·이걸 Eren)</td>
      <td>2 (빈) / ≈1 안녕</td>
    </tr>
    <tr>
      <td>안녕안녕안녕</td>
      <td style="text-align: right">3</td>
      <td>quaker</td>
      <td>3 기타(͈ Infinization·끝까지 대표·어떻게 해?)</td>
      <td>3 (빈)</td>
      <td>2 (빈) / 1 기타(구독과 좋아요 부탁드려요!)</td>
      <td>3 (빈)</td>
      <td>≈1 앙 앙 앙 / 2 기타(distress 5 press…·피 피 피 피)</td>
      <td>2 (빈) / 1 기타(깨끗이 깨끗이 깨끗이)</td>
    </tr>
    <tr>
      <td>그치그치</td>
      <td style="text-align: right">2</td>
      <td>quaker</td>
      <td>2 기타((빈)·여러분 가지 마주 disgui…)</td>
      <td>2 (빈)</td>
      <td>2 (빈)</td>
      <td>2 기타((빈)·왜그래)</td>
      <td>2 기타(этот·쉽지清iqu spot)</td>
      <td>2 (빈)</td>
    </tr>
    <tr>
      <td>토끼토끼야</td>
      <td style="text-align: right">2</td>
      <td>quaker</td>
      <td>2 (빈)</td>
      <td>2 (빈)</td>
      <td>2 (빈)</td>
      <td>2 (빈)</td>
      <td>2 기타(기회가 되나&lt;/hu/&gt;·하$!)</td>
      <td>2 (빈)</td>
    </tr>
    <tr>
      <td>그치</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>≈1 그 persones 40ình…</td>
      <td>1 기타(б)</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(besides)</td>
      <td>1 기타((빈))</td>
    </tr>
    <tr>
      <td>때끼</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타(떡볶이)</td>
      <td>1 기타(또 엉indo)</td>
      <td>1 기타(additions)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(이상해…)</td>
      <td>1 기타(뱅뱅)</td>
    </tr>
    <tr>
      <td>똥싸그치</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(오늘은)</td>
      <td>1 기타((빈))</td>
    </tr>
    <tr>
      <td>미안해요</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타(쉬 forever)</td>
      <td>1 기타(오오오오오오오오오오오오오오오오…)</td>
      <td>1 기타(뇌쇼)</td>
      <td>1 기타(뱃뱅)</td>
      <td>1 기타(뼈 뼈)</td>
      <td>1 기타(감 worshic)</td>
    </tr>
    <tr>
      <td>아구예쁘다</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(ø)</td>
      <td>1 기타((빈))</td>
    </tr>
    <tr>
      <td>아이예뻐</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>≈1 아이씨</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(얼떨)</td>
      <td>1 기타(안녕)</td>
    </tr>
    <tr>
      <td>왜</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(seine)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(쉿)</td>
      <td>1 기타(쉿!)</td>
    </tr>
    <tr>
      <td>쪽</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>≈1 구독과 좋아요 부탁드려요!</td>
      <td>1 기타((빈))</td>
      <td>1 기타(감사합니다.)</td>
      <td>1 기타(감사합니다.)</td>
    </tr>
    <tr>
      <td>토끼야</td>
      <td style="text-align: right">1</td>
      <td>quaker</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타((빈))</td>
      <td>1 기타(말� Singing)</td>
      <td>1 기타((빈))</td>
    </tr>
  </tbody>
</table>

<h4 id="-소형조-budgerigarlovebirdcockatiel">🦜 소형조 (budgerigar·lovebird·cockatiel)</h4>

<table>
  <thead>
    <tr>
      <th>단어</th>
      <th style="text-align: right">n</th>
      <th>종</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>안녕</td>
      <td style="text-align: right">69</td>
      <td>lovebird</td>
      <td>14 (빈) / ≈1 presume 그 분께 연냥c… / ≈1 구독이 남자분의 fid 오픠 … / ≈1 구독자 5.רא 자동차 �ат… / ≈1 만나esus / ≈1 아이스!! / ✓1 안녕! / ≈1 조영 / ≈1 진짜 세일 준비하잖아? 아직도… / 47 기타(3분 추가 3 times 계속…·53 năm·BIN 등)</td>
      <td>65 (빈) / ≈1 동영iv&lt;/ko/&gt; / 3 기타(Kultur·anytime·하현 durability)</td>
      <td>57 (빈) / ≈8 구독과 좋아요 부탁드려요! / 4 기타(daughter·hearings·เค 등)</td>
      <td>67 (빈) / ≈1 구독과 좋아요는 큰힘이 됩니다. / 1 기타(치익)</td>
      <td>≈56 다음 영상에서 만나요. / 3 감사합니다. / ≈3 다음 영상에서 만나요! / 7 기타(esqu산·winding down·경 등)</td>
      <td>39 (빈) / 25 시청해주셔서 감사합니다. / ≈2 구독과 좋아요를 눌러주세요. / ≈2 다음 영상에서 만나요! / 1 기타(자막 제공 및 자막 제공 및 …)</td>
    </tr>
    <tr>
      <td>최고</td>
      <td style="text-align: right">6</td>
      <td>lovebird</td>
      <td>2 (빈) / 4 기타(thrilling·됩니다.·안좋아요. 등)</td>
      <td>5 (빈) / 1 기타(쫙쥛 저번)</td>
      <td>5 (빈) / 1 기타(구독과 좋아요 부탁드려요!)</td>
      <td>6 (빈)</td>
      <td>6 기타(concret yeah·première型 Q5 연구 …·через 입 등)</td>
      <td>4 (빈) / 2 기타(시청해주셔서 감사합니다.·쭈욱)</td>
    </tr>
    <tr>
      <td>까꿍</td>
      <td style="text-align: right">3</td>
      <td>lovebird</td>
      <td>3 기타(! ^^·(빈)·맞다!)</td>
      <td>2 (빈) / 1 기타(으 아 으)</td>
      <td>3 (빈)</td>
      <td>3 (빈)</td>
      <td>3 기타(exposure·다음 영상에서 만나요!·수� knows 확인)</td>
      <td>3 (빈)</td>
    </tr>
    <tr>
      <td>안녕하세요</td>
      <td style="text-align: right">2</td>
      <td>lovebird</td>
      <td>2 기타(김현아·이 부분에서)</td>
      <td>2 기타((빈)·조금 Но 약간)</td>
      <td>2 기타((빈)·크크아)</td>
      <td>2 기타((빈)·집으로 넘어가는 달고나)</td>
      <td>2 기타(민 Major·이리 зах쥐)</td>
      <td>2 (빈)</td>
    </tr>
  </tbody>
</table>

<h4 id="-참고-사람-보호자-기준음성">🧑 (참고) 사람 보호자 기준음성</h4>

<table>
  <thead>
    <tr>
      <th>단어</th>
      <th style="text-align: right">n</th>
      <th>종</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>안녕</td>
      <td style="text-align: right">88</td>
      <td>human</td>
      <td>✓69 안녕! / ✓8 안녕 / ✓1 안녕!! / ✓1 안녕? / ✓1 안녕♥각 / ≈1 엔딩! / 7 기타(captive·блièrement 막 갖고rs·그딸들이 크는 체피INT V … 등)</td>
      <td>33 (빈) / ✓17 안녕 / ✓11 안녕! / ≈1 아눠 / ≈1 아는데 이 이상은 저 때는 / ≈1 아니다. / ≈1 아이! / ✓1 안녕? / 22 기타(Previously made …·SAMSII·SNC에 등)</td>
      <td>✓79 안녕! / ✓4 안녕 / 2 (빈) / ≈1 구독과 좋아요는 저에게 아주 … / 2 기타(가시기·끝!)</td>
      <td>✓58 안녕! / ✓15 안녕 / ≈3 아우! / 2 END / ≈2 아야! / ≈2 아잇! / ≈2 앙! / ≈1 아잉! / ≈1 앙무! / 2 기타((빈)·아고!)</td>
      <td>✓61 안녕! / ✓10 안녕 / 4 아! / ≈3 아유! / ≈1 아 우�ut / ≈1 아노 / ≈1 아니요 / ≈1 아니요! / ≈1 아이유 / ✓1 안녕? / 4 기타(알 pure·앟 shred·오늘! 등)</td>
      <td>✓49 안녕! / ✓21 안녕 / ≈6 안뇽 / ≈3 아유! / ≈3 앙! / ≈1 아, 아니! / ≈1 아놔 / ≈1 아닛 / ≈1 엔뇨 / 2 기타((빈)·하이!)</td>
    </tr>
    <tr>
      <td>슈루룽</td>
      <td style="text-align: right">14</td>
      <td>human</td>
      <td>14 기타(Deserts·Glas tonight·See you tomorrow! 등)</td>
      <td>14 기타(Kangtang놈·Road 러쉬·ολ꿍 등)</td>
      <td>≈1 쇼라랑 / ≈1 슈라란 / 12 기타(accessibility·dus·essa의 등)</td>
      <td>2 샤라란 / ≈1 샤라랑 / ≈1 슈라란 / 10 기타((빈)·Bye Bye·따다단! 등)</td>
      <td>≈3 샤라랑 / ≈1 샤라랑! / ≈1 샤르랑 / 9 기타(Smack spicy!·ta-da-da·다다다! 등)</td>
      <td>≈8 샤라랑 / ≈1 슈라랑 / 5 기타(따라란·쇼드방!·안녕 등)</td>
    </tr>
    <tr>
      <td>안녕하세요</td>
      <td style="text-align: right">12</td>
      <td>human</td>
      <td>✓6 안녕하세요 / ✓3 안녕하세요! / ✓3 안녕하세요.</td>
      <td>✓6 안녕하세요 / ≈2 안녕하세용 / ≈2 안녕하십시오 / ✓1 안녕하세요? / 1 기타(새우)</td>
      <td>≈6 안녕하세용 / ✓3 안녕하세요 / ≈2 안녕하세용! / ≈1 안녕하세여</td>
      <td>✓9 안녕하세요 / ✓1 안녕하세요! / ✓1 안녕하세요. / ≈1 안녕하세용</td>
      <td>✓12 안녕하세요</td>
      <td>✓8 안녕하세요 / ✓2 안녕하세요. / ≈1 안녕히 계세요 / ≈1 안녕히 계세요.</td>
    </tr>
    <tr>
      <td>까꿍</td>
      <td style="text-align: right">8</td>
      <td>human</td>
      <td>≈1 가꾸! / 7 기타(Kathleen·Ketcol·Mhm 등)</td>
      <td>≈1 깎음 / 7 기타(4초·Let’s eat·олет重 등)</td>
      <td>✓3 까꿍 / ✓3 까꿍! / 2 기타(Splash!·backbone)</td>
      <td>✓6 까꿍 / ≈1 짜꿍 / 1 기타(grappling u)</td>
      <td>✓3 까꿍! / ✓1 까꿍 / ≈1 짝꿍 / 3 기타(깍공·끝 cùng·짜끈)</td>
      <td>✓4 까꿍 / ✓3 까꿍! / ≈1 짝꿍</td>
    </tr>
    <tr>
      <td>사랑해</td>
      <td style="text-align: right">8</td>
      <td>human</td>
      <td>✓5 사랑해! / ✓2 사랑해 / ≈1 사망이</td>
      <td>✓8 사랑해</td>
      <td>✓8 사랑해</td>
      <td>✓4 사랑해~~ / ✓3 사랑해 / ✓1 사랑해♥</td>
      <td>✓7 사랑해 / ✓1 사랑해.</td>
      <td>✓8 사랑해</td>
    </tr>
    <tr>
      <td>최고</td>
      <td style="text-align: right">6</td>
      <td>human</td>
      <td>✓4 최고! / 2 기타(茶이 부·제목)</td>
      <td>✓4 최고! / 2 기타(A BALL·제보)</td>
      <td>✓4 최고! / ✓1 최고 / 1 기타(왜� Tyl…)</td>
      <td>✓6 최고!</td>
      <td>✓6 최고!</td>
      <td>✓6 최고!</td>
    </tr>
    <tr>
      <td>귀여워</td>
      <td style="text-align: right">5</td>
      <td>human</td>
      <td>✓2 귀여워 / ✓1 귀여워! / ✓1 귀여워? / 1 기타(피오)</td>
      <td>✓3 귀여워 / 2 기타(ка엑·키워?)</td>
      <td>✓3 귀여워 / ✓2 귀여워?</td>
      <td>✓2 귀여워 / ✓2 귀여워? / ✓1 귀여워!</td>
      <td>✓3 귀여워 / ✓2 귀여워?</td>
      <td>✓2 귀여워 / ✓2 귀여워? / ✓1 귀여워.</td>
    </tr>
    <tr>
      <td>코코야</td>
      <td style="text-align: right">5</td>
      <td>human</td>
      <td>≈1 고고야! / ≈1 도콕, ihren 도콕 안 e… / ≈1 초코야! / ≈1 초콜릿! / ✓1 코코야!</td>
      <td>✓3 코코야 / ≈1 고고와 / ≈1 고구야</td>
      <td>✓3 코코야 / ≈1 고고야 / 1 기타(ここ야!)</td>
      <td>✓3 코코야 / ≈1 고고야! / ✓1 코코야!</td>
      <td>✓2 코코야! / ≈1 고고야! / ✓1 코코야 / 1 기타(ここや)</td>
      <td>✓5 코코야</td>
    </tr>
    <tr>
      <td>슈루루룽</td>
      <td style="text-align: right">4</td>
      <td>human</td>
      <td>4 기타(ars·규우 다 다·끝을 걸 gon 등)</td>
      <td>4 기타(softly·고ifferent 향해지는 -…·희 등)</td>
      <td>≈1 슈라라라 / 3 기타(flat out·쇼라라라·쭈�莵 علي)</td>
      <td>≈1 슈라라랑 / ≈1 슈루루룩 / 2 기타(요로로롱·으쌰 조�raph롱)</td>
      <td>≈1 샤라라랑 / ≈1 샤라로롱 / ≈1 슈라라라 / 1 기타(샤라라오)</td>
      <td>≈2 샤라라랑 / ≈1 슈라라라 / 1 기타(샤라라라)</td>
    </tr>
    <tr>
      <td>뽀뽀</td>
      <td style="text-align: right">3</td>
      <td>human</td>
      <td>3 기타(Windows 4 Crazy·나� panelists San…·모두 이미 haravi 영 p…)</td>
      <td>✓2 뽀뽀 / 1 기타((빈))</td>
      <td>✓3 뽀뽀</td>
      <td>✓2 뽀뽀! / 1 기타((빈))</td>
      <td>✓2 뽀뽀 / ✓1 뽀뽀!</td>
      <td>✓2 뽀뽀 / ✓1 뽀뽀!</td>
    </tr>
    <tr>
      <td>사과</td>
      <td style="text-align: right">3</td>
      <td>human</td>
      <td>✓3 사과</td>
      <td>✓3 사과</td>
      <td>✓3 사과</td>
      <td>✓3 사과</td>
      <td>✓2 사과. / ✓1 사과</td>
      <td>✓3 사과</td>
    </tr>
    <tr>
      <td>그치그치</td>
      <td style="text-align: right">2</td>
      <td>human</td>
      <td>≈1 그렇지구치 dd / 1 기타(끝이 끝이)</td>
      <td>≈1 고치고치 / ≈1 시그치</td>
      <td>≈1 꼬치꼬치 / 1 기타(지구찌)</td>
      <td>✓1 그치 그치 / ✓1 그치그치</td>
      <td>≈1 구찌구찌 / ✓1 그치 그치</td>
      <td>✓1 그치 그치 / ≈1 지그치</td>
    </tr>
    <tr>
      <td>뚜둥</td>
      <td style="text-align: right">2</td>
      <td>human</td>
      <td>2 기타((빈)·leh relation)</td>
      <td>2 기타(따란·팝)</td>
      <td>2 기타(따란·짜잔!)</td>
      <td>2 기타(aren’t you·따란~~)</td>
      <td>2 기타(DotONG·따란!)</td>
      <td>2 기타(따란·일단)</td>
    </tr>
    <tr>
      <td>아</td>
      <td style="text-align: right">2</td>
      <td>human</td>
      <td>≈1 어? / ≈1 음</td>
      <td>≈1 응? / 1 기타((빈))</td>
      <td>≈2 응?</td>
      <td>≈2 응?</td>
      <td>≈2 응?</td>
      <td>≈2 응?</td>
    </tr>
    <tr>
      <td>때끼</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(힘들게요)</td>
      <td>1 기타(Here is one of t…)</td>
      <td>1 기타(transcription ver)</td>
      <td>1 기타(왜?)</td>
      <td>1 기타(여기)</td>
      <td>1 기타(특히)</td>
    </tr>
    <tr>
      <td>똥싸그치</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(우타고 did)</td>
      <td>1 기타(높은)</td>
      <td>1 기타(5분만 qued으세요)</td>
      <td>1 기타(너 타쿠치?)</td>
      <td>≈1 또 타쿠치?</td>
      <td>1 기타(ordo)</td>
    </tr>
    <tr>
      <td>뚜두두둥</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(짝착푁)</td>
      <td>1 기타(쫄 site)</td>
      <td>1 기타(짜짜짜잔)</td>
      <td>✓1 뚜두두둥</td>
      <td>1 기타(도도도도)</td>
      <td>1 기타(따따따따)</td>
    </tr>
    <tr>
      <td>뚜두둣</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(다소소)</td>
      <td>1 기타(자, 그럼 PLAYING IN…)</td>
      <td>1 기타(떠써써)</td>
      <td>1 기타(달mm pouco)</td>
      <td>1 기타(뼈다다다다)</td>
      <td>1 기타(따라따라라)</td>
    </tr>
    <tr>
      <td>뚜두둥</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(가자!)</td>
      <td>1 기타(對對aaa)</td>
      <td>1 기타(따따따)</td>
      <td>1 기타(따다단!)</td>
      <td>1 기타(따라 tradition)</td>
      <td>≈1 따다당</td>
    </tr>
    <tr>
      <td>뚜루룽</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(들어가오)</td>
      <td>1 기타(잦 accomund lonely)</td>
      <td>1 기타(따라란)</td>
      <td>≈1 뚜루룩.</td>
      <td>1 기타(도로로!)</td>
      <td>≈1 따라랑</td>
    </tr>
    <tr>
      <td>미안해요</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>✓1 미안해요</td>
      <td>✓1 미안해요</td>
      <td>✓1 미안해요</td>
      <td>✓1 미안해요</td>
      <td>✓1 미안해요</td>
      <td>✓1 미안해요</td>
    </tr>
    <tr>
      <td>엄마</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(아.)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(잘 지�ificial 하� i…)</td>
      <td>1 기타((빈))</td>
      <td>1 기타(었는데 lots of 000 …)</td>
      <td>1 기타(감사합니다.)</td>
    </tr>
    <tr>
      <td>왜</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>1 기타(abet)</td>
      <td>≈1 부분 어? 위ator WB</td>
      <td>✓1 왜?</td>
      <td>✓1 왜?</td>
      <td>✓1 왜?</td>
      <td>✓1 왜?</td>
    </tr>
    <tr>
      <td>핫뚜</td>
      <td style="text-align: right">1</td>
      <td>human</td>
      <td>≈1 핫도그</td>
      <td>1 기타(안녕!)</td>
      <td>1 기타(안녕)</td>
      <td>≈1 핫도그</td>
      <td>≈1 핫도우</td>
      <td>≈1 핫도우</td>
    </tr>
  </tbody>
</table>

<p>아래 분석은 <strong>완화 판정(자모 CER≤0.5)</strong> 기준이다.</p>

<p>1편의 음향 분석에서 확인한, 대형조 일수록 사람 음성에 가까워지는 점진적 변화가 인식 결과에서도 그대로 나타난다.</p>

<ul>
  <li><strong>소형조(lovebird)</strong></li>
  <li>
    <ul>
      <li><strong>완화된</strong> <code class="language-plaintext highlighter-rouge">레벤슈타인 거리</code> <strong>기준으로도 large-v3 0.05로 사실상 0%이다.</strong></li>
    </ul>
  </li>
  <li>
    <p>F0가 2.2kHz라 사람 음소 구조가 성립하지 않아 자음 골격까지 맞지 않기 때문인 것으로 추측된다.</p>

    <p>  </p>
  </li>
  <li><strong>중형조에서 인식되는 단어는 conure의 ‘안녕’ 하나 뿐이다.</strong></li>
  <li>conure 안녕 74클립에서 base 4% → small 12% → medium 23% → large-v3 41%로 모델이 커질수록 인식률이 상승한다.</li>
  <li><strong>완화된</strong> <code class="language-plaintext highlighter-rouge">레벤슈타인 거리</code> <strong>기준으로도, 같은 conure의 사랑해·코코야·귀여워는 모든 모델에서 인식률 0%</strong> </li>
  <li><strong>사람 보호자 녹음은 잘 인</strong>식된다.
    <ul>
      <li>표준어 정확 인식 large-v3 82.8%에 더해, 완화 기준에서는 ‘안뇽’·’코코야’ 변형 등 near-standard가 추가돼 large-v3 <strong>.91</strong>·medium <strong>.84</strong>
        <ul>
          <li>표준어 - 안녕·사랑해·까꿍·빠이빠이·여보세요·엄마·와</li>
          <li>비표준어 - 슈루룽·슈루루룽·뚜둥·핫뚜·때끼·똥싸그치</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

<h3 id="2-2-대형조-슈루룽">2-2. 대형조 ‘슈루룽’</h3>

<p><code class="language-plaintext highlighter-rouge">&lt;eclectus 슈루룽(48) 인식률 — 판정 기준별&gt;</code></p>

<table>
  <thead>
    <tr>
      <th>판정 기준</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>정확 어휘 (CER 0)</td>
      <td>0%</td>
      <td>0%</td>
      <td>0%</td>
      <td>0%</td>
      <td>0%</td>
      <td>0%</td>
    </tr>
    <tr>
      <td>근접 자모 CER≤0.5 (슈루루·샤라랑급)</td>
      <td>0%</td>
      <td>0%</td>
      <td>16%</td>
      <td><strong>35%</strong></td>
      <td>27%</td>
      <td><strong>56%</strong></td>
    </tr>
  </tbody>
</table>

<p><strong>medium·large-v3의 실제 출력을
보면 음가는 따라간다</strong>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>large-v3 슈루룽 출력:  슈루루(9) / 슈르르(8) / 샤라랑(3) / 슈리로(2) / 슈루타 / 슈루포 ...
medium  슈루룽 출력:  슈루라 / 슈루라! / 슈루룩 / 슈르르 / 슈루롱 ...
tiny    슈루룽 출력:  좋아요…  (전부 무관)
</code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">슈루루/슈르르/슈루라/슈루룩</code> </p>

<ul>
  <li>초성·중성이 맞는 근사 전사다. 레벤슈타인 거리로 1음절을 인식으로 인정하면(<strong>자모 단위 CER≤0.5</strong>, ‘샤라랑’처럼 자음 골격이 맞는 것까지 통과)</li>
  <li>medium 35%·large-v3 56%의 성능을 보인다. </li>
  <li>사실상 인식이 어느정도 가능하다고 보여진다.</li>
  <li></li>
</ul>

<p><code class="language-plaintext highlighter-rouge">표준 단발어(amazon '빠이빠이'·'여보세요', eclectus '엄마'·'와')</code></p>

<ul>
  <li>큰 모델이 정확히 인식한다(각 n=1).</li>
  <li>즉 대형조의 ‘슈루룽’ 단어 인식의 어휘 인식 실패는 “대형조라서”가 아니라 비표준어라서일 가능성이 높다.</li>
</ul>

<hr />

<h2 id="️-결과-정리-️">🖐️ 결과 정리 🖐️</h2>

<ol>
  <li>소형조는 Whisper로 텍스트 전사가 불가능. 0%의 정확도.</li>
  <li>중형조 conure ‘안녕’ 41% 인식 성공
-‘안녕’은 표준어로 Whisper 사전 안에 있기에, 높은 성능을 보인 것으로 추측된다.
    <ul>
      <li>같은 conure의 사랑해·코코야·귀여워의 경우, 모든 모델에서 인식 성능 0% (안녕만 41%)</li>
      <li>같은 중형조인 quaker → 모든 모델에서 인식 성능 ≤2%</li>
    </ul>
  </li>
  <li>대형조는 Whisper <strong>medium 이상의 모델 부터</strong> 비교적 신호가 뚜렷해진다.
    <ul>
      <li>다만 대형조의 데이터가 적었고,</li>
      <li>가지고 있는 데이터가 대형조 중에서도 말을 잘하는 개체이므로 이로 인한 편행된 결과일 가능성이 존재한다.</li>
    </ul>
  </li>
</ol>

<h2 id="프로젝트-방향-결정">프로젝트 방향 결정</h2>

<ul>
  <li><strong>‘소&amp;중 / 대형’ 2분류로 분류할 예정이다.</strong> 
    <ul>
      <li>소/중형조는 음향 성격이 비슷하고, 사람 음향과의 유사도가 매우 낮아 분류가 필요없음을 확인했다.<em>**</em></li>
      <li>다만 서비스에서 ++사용자가 앵무새 종을 등록++하므로, 판별 모델은 기존대로 앵무/비앵무만 판별하고 ++종 정보로 소중/대형조를 매핑하는 방안++이 현실적일 것으로 생각하고 있다.</li>
    </ul>
  </li>
  <li>단어 모사 판정의 경우, <strong>대형조 한정으로 표준어에 대해 Whisper 판정 가능성을 확인했다.</strong></li>
  <li>다만, <strong>대형조의 비표준어(슈루룽 등) 인식 부문에서는 ‘자기지도 임베딩+DTW 매칭(보호자 기준음성과의 유사도)’이 더 높은 성능</strong>을 보인다.
    <ul>
      <li>같은 eclectus 종 ‘슈루룽’ 조건에서 자기지도 임베딩+DTW 매칭(보호자 기준음성과의 유사도)이 recall 77%로 더 높다.</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="참고1-대형조-슈루룽에-대한-ssldtw">참고1. 대형조 ‘슈루룽’에 대한 SSL+DTW</h2>

<p>같은 eclectus 슈루룽을, 전사가 아니라 <strong>보호자 기준음성과의 음향 유사도 매칭(SSL+DTW, ContentVec 임베딩 × DTW)</strong>으로 판정한 결과</p>

<p><code class="language-plaintext highlighter-rouge">&lt;eclectus 슈루룽 — 방법별 인식&gt;</code></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th style="text-align: right">인식/recall</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Whisper 정확 어휘</td>
      <td style="text-align: right">0% (전 크기)</td>
    </tr>
    <tr>
      <td>Whisper 근접 (자모 CER≤0.5, 슈루루·샤라랑급)</td>
      <td style="text-align: right">medium 35% · <strong>large-v3 56%</strong></td>
    </tr>
    <tr>
      <td><strong>SSL+DTW (보호자 기준음성 매칭)</strong></td>
      <td style="text-align: right"><strong>77.0%</strong> (BB-428 S10, n=48)</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="참고2-앵무-비발화울음-잡음tv소리-생활소음-등에-대한-whisper-테스트-결과">참고2. <code class="language-plaintext highlighter-rouge">앵무 비발화(울음)</code>, <code class="language-plaintext highlighter-rouge">잡음(TV소리, 생활소음 등)</code>에 대한 Whisper 테스트 결과</h2>

<p><code class="language-plaintext highlighter-rouge">&lt;환각률: 무음/잡음에 없는 말 생성&gt;</code></p>

<table>
  <thead>
    <tr>
      <th>그룹</th>
      <th style="text-align: right">n</th>
      <th>tiny</th>
      <th>base</th>
      <th>small</th>
      <th>medium</th>
      <th>turbo</th>
      <th>large-v3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>non_speech(앵무 비발화)</td>
      <td style="text-align: right">425</td>
      <td>16%</td>
      <td>4%</td>
      <td>14%</td>
      <td>11%</td>
      <td><strong>100%</strong></td>
      <td>62%</td>
    </tr>
    <tr>
      <td>noise(잡음)</td>
      <td style="text-align: right">920</td>
      <td>20%</td>
      <td>12%</td>
      <td>16%</td>
      <td>15%</td>
      <td><strong>100%</strong></td>
      <td>69%</td>
    </tr>
    <tr>
      <td>(참고) no_speech 게이트 前</td>
      <td style="text-align: right">425</td>
      <td>100%</td>
      <td>100%</td>
      <td>100%</td>
      <td>100%</td>
      <td>100%</td>
      <td>99%</td>
    </tr>
  </tbody>
</table>

<ul>
  <li><strong>원래 Whisper는 뭘 넣든 항상 텍스트를 만들기에 발생하는 문제이다.</strong></li>
</ul>

<blockquote>
  <p>→ <strong>결론: 비발화·잡음 판정은 Whisper가 아니라 앞단의 step2 parrot gate(앵무/비앵무 게이트)로 거르는 것이 효과적이다.</strong></p>
</blockquote>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><category term="Whisper" /><category term="STT" /><category term="단어_모사" /><category term="모사_성공_판정" /><category term="음성인식" /><category term="환각" /><category term="소형조" /><category term="중형조" /><category term="대형조" /><category term="SSL_DTW" /><summary type="html"><![CDATA[IIPLAB 피드백 이후 Whisper 6종으로 BuddyBird 앵무새 단어 모사 데이터를 전사해 크기 그룹별 인식률, 자모 CER 완화 판정, 환각 양상, 실제 모사 판정 적용 가능성을 정리한 실험 기록입니다.]]></summary></entry><entry><title type="html">[버디버드] 앵무새 발화 판정 파이프라인 연구 브리프</title><link href="https://daeunworld.xyz/aisw_maestro/2026/08/31/iiplab-research-brief.html" rel="alternate" type="text/html" title="[버디버드] 앵무새 발화 판정 파이프라인 연구 브리프" /><published>2026-08-31T00:00:00+09:00</published><updated>2026-08-31T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/08/31/iiplab-research-brief</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/08/31/iiplab-research-brief.html"><![CDATA[<blockquote>
  <p>서강대학교 IIPLAB 미팅용 연구 소개 자료
앵무새 언어 학습 서비스 buddybird의 핵심 판정 기능</p>
</blockquote>

<ul>
  <li>일자: 2026. 08. 31</li>
</ul>

<hr />

<h2 id="1-서비스-배경-앵무새에게-말을-가르치는-buddybird">1. 서비스 배경: 앵무새에게 말을 가르치는 buddybird</h2>

<p>buddybird는 보호자가 부재중일 때 앵무새를 돌보고 <strong>말(단어)을 가르치는</strong> 서비스입니다.</p>

<p>새장 앞에 놓인 디바이스(station)가 보호자가 녹음한 학습 오디오를 재생하고, 앵무새가 내는 소리를 마이크로 감지해 “오늘 앵무새가 어떤 단어를 얼마나 따라 했는지”를 학습 리포트와 알림으로 보호자에게 전달합니다.</p>

<p>이 서비스가 성립하려면 시스템이 두 가지를 판정할 수 있어야 합니다.</p>

<ol>
  <li>마이크에 잡힌 소리가 <strong>앵무새 소리인가?</strong> (발성 감지)</li>
  <li>앵무새가 낸 소리가 <strong>학습 단어의 모사에 성공했는가?</strong> (모사 판정)</li>
</ol>

<hr />

<h2 id="2-파이프라인-구조">2. 파이프라인 구조</h2>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-31-iiplab-research-brief/png1.png" alt="앵무새 발화 판정 파이프라인 구조" /></p>

<h3 id="단계별-목표">단계별 목표</h3>

<table>
  <thead>
    <tr>
      <th>단계</th>
      <th>목표</th>
      <th>상태</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>1. 음량 게이트</strong></td>
      <td>판별 불가능한 저음량 클립을 인코더 추론 전에 제거 (임계 −39 dBFS 확정)</td>
      <td>완료</td>
    </tr>
    <tr>
      <td><strong>2. 앵무새 소리 게이트</strong></td>
      <td>사람 음성 차단을 최우선으로 비앵무 클립 제거. 사람 음성 오통과율 상한 기준으로 운영 임계값 확정</td>
      <td>v1.0.0 완료 · 업그레이드 중</td>
    </tr>
    <tr>
      <td><strong>4. 모사 성공 판정</strong></td>
      <td>앵무새 단어 시도를 보호자 기준음성 1~5개와 비교해 성공/실패 + 연속 점수 산출</td>
      <td>착수 예정</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="3-2단계-앵무새-소리-게이트-parrot-sound-gate">3. 2단계 앵무새 소리 게이트 (parrot sound gate)</h2>

<p>클립이 앵무새 소리인지 아닌지를 판별하는 이진 게이트입니다.</p>

<h3 id="모델-구조--사전학습-인코더-perch-20--선형-probe">모델 구조 — 사전학습 인코더 <code class="language-plaintext highlighter-rouge">Perch 2.0</code> + <code class="language-plaintext highlighter-rouge">선형 probe</code></h3>

<p>Google <strong>Perch 2.0</strong>은 대규모 생물음향(bioacoustics) 데이터로 사전학습된 인코더입니다. 오디오를 32kHz 리샘플 후 5초 창(홉 2.5초)으로 잘라 1536차원 임베딩을 추출하고,</p>

<p>그 위에 <strong>표준화 + L2 로지스틱 회귀</strong>를 학습합니다.</p>

<ul>
  <li>모델 구조 설계 근거
    <ul>
      <li><strong>데이터 부족</strong>
        <ul>
          <li>학습 데이터가 총 2,322클립(앵무 503 · 비앵무 1,819)</li>
          <li>딥러닝 모델을 처음부터 학습하는 대신 frozen 인코더 + 선형 probe가 적합하다고 판단</li>
        </ul>
      </li>
      <li><strong>타 인코더에 비해 높은 성능을 확인함</strong>
        <ul>
          <li>AVES, AudioSet zero-shot, MFCC 등 후보를 고려하였으나, Perch2.0이 제일 높은 성능을 보임</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

<h3 id="평가-방법론">평가 방법론</h3>

<ul>
  <li>고객의 앵무새는 <strong>항상</strong> <code class="language-plaintext highlighter-rouge">학습에 없던 개체</code></li>
  <li><strong>고객의 앵무새가 학습 데이터에 없는</strong> <code class="language-plaintext highlighter-rouge">앵무새 종</code><strong>일 가능성</strong></li>
</ul>

<table>
  <thead>
    <tr>
      <th>프로토콜</th>
      <th>분할 기준</th>
      <th>용도</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>LOSO</strong> (leave-one-species-out)</td>
      <td>앵무 종 단위 홀드아웃</td>
      <td><strong>대표 지표</strong>. 학습에 없던 종으로의 일반화</td>
    </tr>
    <tr>
      <td><strong>LOIO</strong> (leave-one-individual-out)</td>
      <td>개체 단위 홀드아웃</td>
      <td>보조 지표. 미학습 개체 일반화</td>
    </tr>
    <tr>
      <td>kfold (층화 5겹)</td>
      <td>클립 단위</td>
      <td>낙관 편향 상한 참고용</td>
    </tr>
  </tbody>
</table>

<h3 id="운영-임계값-τ--neyman-pearson-방식의-τ-선정">운영 임계값 τ — Neyman-Pearson 방식의 τ 선정</h3>

<ul>
  <li>앵무 확률 ≥ τ(0.0378) → 앵무 (통과)</li>
  <li>앵무 확률 &lt; τ(0.0378) → 비앵무 (차단)</li>
</ul>

<p><strong>사람 음성 오통과율(FAR) ≤ 2%를 하드 제약</strong>으로 걸고, 그 안에서 앵무 재현율을 최대화하는 Neyman-Pearson 프레이밍을 사용하여 도출.</p>

<hr />

<h3 id="v100-성능-운영-임계값-τ0038-loso-기준">v1.0.0 성능 (운영 임계값 τ=0.038, LOSO 기준)</h3>

<h4 id="probe-학습-데이터셋--총-2322클립">probe 학습 데이터셋 — 총 2,322클립</h4>

<table>
  <thead>
    <tr>
      <th>클래스</th>
      <th>구성</th>
      <th>개수</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>앵무</strong> (503)</td>
      <td>7종 — conure 151 · lovebird 150 · cockatiel 89 · budgerigar 60 · quaker 44 · cockatoo 7 · patagonian conure 2</td>
      <td>503</td>
    </tr>
    <tr>
      <td><strong>비앵무</strong> (1,819)</td>
      <td>팀이 직접 녹음한 사람 음성</td>
      <td>40</td>
    </tr>
    <tr>
      <td> </td>
      <td>실서비스 station에서 수집한 사람 음성</td>
      <td>859</td>
    </tr>
    <tr>
      <td> </td>
      <td>실서비스 station에서 수집한 생활 잡음</td>
      <td>920</td>
    </tr>
  </tbody>
</table>

<h4 id="핵심-지표">핵심 지표</h4>

<table>
  <thead>
    <tr>
      <th>지표</th>
      <th>값</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>앵무 재현율 (전체)</td>
      <td>96.6%</td>
    </tr>
    <tr>
      <td>사람 음성 오통과율 (상한 2%)</td>
      <td>1.9%</td>
    </tr>
    <tr>
      <td>잡음 오통과율</td>
      <td>2.1%</td>
    </tr>
    <tr>
      <td>종별 ROC-AUC (7종 전부)</td>
      <td>0.996+</td>
    </tr>
  </tbody>
</table>

<p>종별 ROC-AUC는 conure 0.996, quaker·lovebird·cockatiel 1.000 등 전 종에서 높은 분리도를 보였습니다. LOSO는 종을 통째로 빼는 보수적 하한이므로, 알려진 종의 신규 개체를 만나는 실서비스에서는 실제 재현율이 이보다 높습니다.</p>

<hr />

<h3 id="현재-v110-개발-진행-중">현재 v1.1.0 개발 진행 중</h3>

<p>v1.0.0 이후 새 데이터가 편입되어 클립이 <strong>2,322 → 2,771개</strong>로 늘었습니다.</p>

<p>새롭게 추가된 데이터는 유튜브의 앵무새 영상에서 수집한 총 449클립으로, <strong>다수의 앵무새 단어 모사 시도(311클립)와 보호자의 단어 발화 오디오(138클립)</strong>로 구성됩니다.</p>

<p>이 새 데이터에 대해 v1.0.0 probe로 분류를 시도한 결과:</p>

<blockquote>
  <p><strong>사람 음성인 보호자 단어 발화 138클립 중 70클립(50.7%)이 앵무새 소리로 잘못 통과.</strong></p>
</blockquote>

<table>
  <thead>
    <tr>
      <th>데이터 출처</th>
      <th>probe 학습에 포함되었는지 여부</th>
      <th>n</th>
      <th>오통과</th>
      <th>오통과율</th>
      <th>확률 중앙값 / 최대</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>팀이 직접 녹음한 사람 단어 발화 클립</td>
      <td>포함</td>
      <td>40</td>
      <td>0</td>
      <td>0.0%</td>
      <td>0.000 / 0.010</td>
    </tr>
    <tr>
      <td>유튜브에서 수집한 사람 단어 발화 클립</td>
      <td>미학습</td>
      <td>138</td>
      <td>70</td>
      <td><strong>50.7%</strong></td>
      <td>0.048 / 0.993</td>
    </tr>
    <tr>
      <td><strong>합계</strong></td>
      <td>—</td>
      <td>178</td>
      <td>70</td>
      <td>39.3%</td>
      <td>—</td>
    </tr>
  </tbody>
</table>

<h4 id="앵무새-단어-모사-클립-분류-결과--미학습-종에서-미탐"><code class="language-plaintext highlighter-rouge">앵무새 단어 모사 클립</code> 분류 결과 — 미학습 종에서 미탐</h4>

<p>새로 추가된 <strong>앵무새 클립 311개</strong>(단어 모사 시도 257 · 비발화 54)에 v1.0.0 probe로 분류를 진행한 결과. 전체 재현율은 <strong>79.1%</strong>(모사 시도 75.1% · 비발화 98.1%)</p>

<table>
  <thead>
    <tr>
      <th>종</th>
      <th>v1.0.0 학습 포함</th>
      <th>모사 시도 n</th>
      <th>통과</th>
      <th>재현율</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>quaker</td>
      <td>포함</td>
      <td>91</td>
      <td>91</td>
      <td>100%</td>
    </tr>
    <tr>
      <td>lovebird</td>
      <td>포함</td>
      <td>80</td>
      <td>80</td>
      <td>100%</td>
    </tr>
    <tr>
      <td>conure</td>
      <td>포함</td>
      <td>7</td>
      <td>7</td>
      <td>100%</td>
    </tr>
    <tr>
      <td>eclectus</td>
      <td>미학습</td>
      <td>76</td>
      <td>14</td>
      <td><strong>18.4%</strong></td>
    </tr>
    <tr>
      <td>amazon</td>
      <td>미학습</td>
      <td>3</td>
      <td>1</td>
      <td><strong>33.3%</strong></td>
    </tr>
  </tbody>
</table>

<p>학습에 있던 종은 신규 클립에서도 전부 통과했지만, <strong>학습에 없던 종(eclectus·amazon)은 단어 모사 대부분이 차단</strong>됐습니다.</p>

<hr />

<h2 id="4-모사-성공-판정-착수-예정">4. 모사 성공 판정 (착수 예정)</h2>

<p>2단계를 통과한 앵무새 클립이 학습 단어 모사에 성공했는지를 보호자 기준음성과 비교해 판정하는 단계입니다. 후보 기술 조사와 실험 설계를 마쳤고, 본 실험에 착수할 예정입니다.</p>

<h3 id="문제-정의--분류가-아니라-기준음성-기반-유사도">문제 정의 — 분류가 아니라 기준음성 기반 유사도</h3>

<ul>
  <li>입력: <strong>앵무 단어 시도 클립 1개 + 같은 단어의 보호자 기준음성 1~5개</strong></li>
  <li>출력: 성공/실패</li>
</ul>

<p>분류가 아닌 <code class="language-plaintext highlighter-rouge">보호자의 단어 발화 오디오 기반 유사도</code></p>

<h3 id="난관">난관</h3>

<p><strong>① 음색 도메인 갭</strong></p>

<ul>
  <li>기준음성은 <strong>사람 성대</strong> / 앵무새의 모사 시도는 <strong>앵무새 명관(syrinx)</strong>에서 비롯됨.</li>
  <li>포먼트·배음 구조가 근본적으로 달라, 스펙트럼을 직접 비교하면 “같은 단어”보다 “같은 발성기관”이 먼저 매칭됩니다. 사람 음성 사전학습 모델엔 앵무 오디오가 OOD.</li>
</ul>

<p><strong>② 데이터 부족</strong></p>

<ul>
  <li>단어 클립은 현재 앵무 시도 372개 + 보호자 기준음성 178개 규모.</li>
  <li>기존 앵무새 음성 데이터셋 자체가 없고. 모두 직접 수집해야 함.</li>
  <li>현실적으로, 지도학습이 불가능하므로 <strong>사전학습 인코더(frozen) + 거리·정렬 기반 무학습 기법</strong>을 우선</li>
</ul>

<h3 id="검토중인-후보-기술--특징-추출기--알고리즘-기반-비교정렬">검토중인 후보 기술 — [특징 추출기] × [알고리즘 기반 비교·정렬]</h3>

<table>
  <thead>
    <tr>
      <th>조합</th>
      <th>아이디어</th>
      <th>역할</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>MFCC × DTW</strong></td>
      <td>고전 음향 특징 + 동적 시간 정렬</td>
      <td>대조군 — 모든 후보가 이겨야 할 기준선</td>
    </tr>
    <tr>
      <td><strong>Perch 2.0 × DTW / 코사인</strong></td>
      <td>Perch가 노출하는 시계열 출력(멜 10ms 프레임)으로 DTW 정렬, pooled 임베딩으로 코사인</td>
      <td>2단계와 임베딩 인프라 공유 — 추론 비용 최소</td>
    </tr>
    <tr>
      <td><strong>음소 posteriorgram(PPG) × DTW</strong></td>
      <td>다국어 음소 인식기로 오디오를 음소 확률 시퀀스로 변환 — 음소 공간은 음색·피치가 제거됨</td>
      <td><strong>음색 갭 정공법.</strong> 비발화는 평탄한 posterior가 나와 자동 기각되는 부수 효과</td>
    </tr>
    <tr>
      <td><strong>Content 임베딩 (ContentVec 등) × DTW</strong></td>
      <td>음성 변환(VC)용으로 설계된 “음색 제거·내용 보존” 임베딩</td>
      <td>갭 문제의 설계상 정공법 — 단 사람 화자만 학습해 종간 외삽은 실증 필요</td>
    </tr>
  </tbody>
</table>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><category term="앵무새_소리_여부_판별_모델" /><category term="모사_성공_판정" /><category term="IIPLAB" /><summary type="html"><![CDATA[서강대학교 IIPLAB 미팅용 연구 소개 자료 앵무새 언어 학습 서비스 buddybird의 핵심 판정 기능]]></summary></entry><entry><title type="html">[AI/ML] Ridge, Lasso, L1, L2 규제</title><link href="https://daeunworld.xyz/aisw_maestro/2026/08/28/logistic_regression.html" rel="alternate" type="text/html" title="[AI/ML] Ridge, Lasso, L1, L2 규제" /><published>2026-08-28T00:00:00+09:00</published><updated>2026-08-28T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/08/28/logistic_regression</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/08/28/logistic_regression.html"><![CDATA[<blockquote>
  <p>선형 회귀는 훈련 데이터의 오차(MSE)만을 최소화한다.</p>
</blockquote>

<p>모델은 데이터의 실제 경향뿐 아니라 노이즈까지 학습하려 하고, 그 과정에서 일부 계수가 과도하게 커져 과적합 상태가 될 수 있다.</p>

<p>규제는 손실 함수에 <code class="language-plaintext highlighter-rouge">계수의 크기에 비례하는 항</code>을 추가해 이를 억제한다.</p>

<h2 id="penalty-방식">Penalty 방식</h2>

<h3 id="1-l1-절댓값-맨해튼-거리">(1) L1: 절댓값, 맨해튼 거리</h3>

<p>계수의 크기와 상관없이 균등하게 penalty 부여.</p>

<p>L1 페널티의 도함수는 sign(w)로 상수 ±1이다. 계수 크기와 무관하게 α만큼의 기울기 성분이 유지된다. 손실 함수의 기울기가 α보다 작은 변수는 계수가 0으로 결정된다.</p>

<h3 id="2-l2-제곱-유클리드-거리">(2) L2: 제곱,  유클리드 거리</h3>

<p>제곱하므로, 큰 계수에게 강한 penalty 부여.</p>

<p>L2 페널티의 도함수는 2w다. w가 감소하면 도함수도 함께 감소하여 0에 수렴한다. 따라서 계수를 감소시키는 기울기 성분이 사라지고, 계수는 0에 근접하되 정확히 0에 도달하지 않는다.</p>

<h2 id="기본-회귀-vs-규제-회귀">기본 회귀 vs 규제 회귀</h2>

<ul>
  <li>기본 회귀: MSE(평균제곱오차)가 최소가 되는 회귀 계수를 추정함.</li>
  <li>규제 회귀: <code class="language-plaintext highlighter-rouge">MSE + 규제항</code>이 최소가 되는 회귀 계수를 추정함.
    <ul>
      <li>Ridge: <code class="language-plaintext highlighter-rouge">MSE + α · Σwᵢ²</code></li>
      <li>Lasso: <code class="language-plaintext highlighter-rouge">MSE + α · Σ|wᵢ|</code></li>
    </ul>
  </li>
</ul>

<p>α는 규제 세기를 조절하는 값이다.</p>
<ul>
  <li>α가 0이면? -&gt; 규제가 사라져 기본 회귀와 같아짐.</li>
  <li>α가 클 수록? -&gt; 계수가 강하게 눌린다. 극단적으로 키우면 모든 계수가 0에 수렴해 평균만 예측하는 모델이 된다.</li>
  <li>참고. scikit-learn의 **로지스틱 회귀는 α 대신 C를 쓰고 반대의 의미를 가진다. C가 작을수록 규제가 강하다.</li>
</ul>

<h2 id="ridge-회귀--l2-규제">Ridge 회귀 : L2 규제</h2>

<blockquote>
  <p>기존 선형 회귀의 과적합을 방지함.</p>
</blockquote>

<h2 id="lasso-회귀--l1-규제">Lasso 회귀 : L1 규제</h2>

<p>w의 절댓값에 패널티를 부여하는 L1 규제를 선형 회귀에 적용한 것
 L1 규제는 alpha*||W||를 의미</p>

<h2 id="ridge-vs-lasso---계수를-0으로-만드는가">Ridge vs Lasso -&gt; 계수를 0으로 만드는가?</h2>

<ul>
  <li>Lasso는 계수가 0이 될 수 있다.</li>
  <li>Ridge는 크기가 작아지더라도 0이 되지는 않는다.</li>
</ul>

<p>L2 페널티는 w²이므로 미분하면 2w가 된다. 계수가 0에 가까워질수록 기울기도 0에 수렴하므로, 계수를 줄이는 힘이 함께 약해진다. 따라서 계수는 0에 근접하지만 정확히 0이 되지는 않는다.</p>

<table>
  <tbody>
    <tr>
      <td>L1 페널티는</td>
      <td>w</td>
      <td>이므로 미분하면 부호에 따라 +1 또는 −1이다. 계수의 크기와 무관하게 일정한 크기의 힘이 작용한다. 이 힘이 손실 함수의 기울기보다 크면 계수는 0에서 멈추게 된다.</td>
    </tr>
  </tbody>
</table>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><category term="앵무새_소리_여부_판별_모델" /><summary type="html"><![CDATA[선형 회귀는 훈련 데이터의 오차(MSE)만을 최소화한다.]]></summary></entry><entry><title type="html">[버디버드] 앵무새 소리 여부 판별 모델(parrot-sound_gate) v1.0.0</title><link href="https://daeunworld.xyz/aisw_maestro/2026/08/27/parrot-sound-gate100.html" rel="alternate" type="text/html" title="[버디버드] 앵무새 소리 여부 판별 모델(parrot-sound_gate) v1.0.0" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/08/27/parrot-sound-gate100</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/08/27/parrot-sound-gate100.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<hr />

<h2 id="1-전체-구조">1. 전체 구조</h2>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>0. VAD 클립 입력
1. 음량 게이트(loudness_gate) 
  — 너무 조용해 판별이 어려운 클립을 차단하는 게이트 (too_quiet)
2. 앵무새 소리 여부 판별(parrot-sound_gate) 
  — 사람 음성·TV 소리 등 비앵무새 소리를 차단하는 게이트
3. biodenoising 
  — 앵무새 소리를 제외한 노이즈 제거 (현재 고려하지 않음)
4. 모사 성공 여부 판정(mimicry-judgement) 
  — 보호자 녹음 샘플과 VAD 클립을 비교
</code></pre></div></div>

<p>이 중 <code class="language-plaintext highlighter-rouge">2. 앵무새 소리 여부 판별(parrot-sound_gate)</code>의 v1.0.0을 다루는 포스팅이다.</p>

<hr />

<h3 id="편의를-위한-용어-정리">편의를 위한 용어 정리!</h3>

<p>모든 오디오 클립은 아래 두가지 부류로 구분된다. 이 gate는 아래 두가지 부류를 구분하는 것이 목표이다.</p>
<ul>
  <li><strong>앵무 소리</strong></li>
  <li><strong>비앵무 소리:</strong> 사람 소리, TV소리, 잡음 등 앵무새 소리가 아닌 모든 소리</li>
</ul>

<hr />
<h2 id="2-데이터셋-구성">2. 데이터셋 구성</h2>

<table>
  <thead>
    <tr>
      <th>클래스</th>
      <th>개수</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>앵무</td>
      <td>503</td>
    </tr>
    <tr>
      <td>비앵무</td>
      <td>1819</td>
    </tr>
  </tbody>
</table>

<h3 id="2-1-앵무-데이터">2-1. 앵무 데이터</h3>

<table>
  <thead>
    <tr>
      <th>앵무새 종</th>
      <th>개수</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>conure</td>
      <td>151</td>
    </tr>
    <tr>
      <td>lovebird</td>
      <td>150</td>
    </tr>
    <tr>
      <td>cockatiel</td>
      <td>89</td>
    </tr>
    <tr>
      <td>budgerigar</td>
      <td>60</td>
    </tr>
    <tr>
      <td>quaker</td>
      <td>44</td>
    </tr>
    <tr>
      <td>cockatoo</td>
      <td>7</td>
    </tr>
    <tr>
      <td>patagonian_conure</td>
      <td>2</td>
    </tr>
  </tbody>
</table>

<h3 id="2-2-비앵무-데이터">2-2. 비앵무 데이터</h3>

<table>
  <thead>
    <tr>
      <th>모집단</th>
      <th>개수</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>팀에서 직접 녹음한 사람 음성</td>
      <td>40</td>
    </tr>
    <tr>
      <td>buddybird-prod S3 사람 음성</td>
      <td>859</td>
    </tr>
    <tr>
      <td>buddybird-prod S3 잡음</td>
      <td>920</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="3-평가-분할-방식">3. 평가 분할 방식</h2>

<table>
  <thead>
    <tr>
      <th>프로토콜</th>
      <th>분할 기준</th>
      <th>용도</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>LOSO</td>
      <td>종</td>
      <td>대표 지표, 학습에 없던 종 일반화</td>
    </tr>
    <tr>
      <td>LOIO</td>
      <td>개체</td>
      <td>보조 지표, 개체 단위 엄격 분할</td>
    </tr>
    <tr>
      <td>kfold</td>
      <td>클립 층화 5겹</td>
      <td>낙관 편향 상한 참고</td>
    </tr>
  </tbody>
</table>

<ul>
  <li><strong>LOSO(leave-one-species-out)</strong>: 앵무 종 하나를 테스트로 홀드아웃하고 나머지 종으로 학습한다. 고객 앵무는 항상 학습에 없던 개체이므로 이 방식을 대표 지표로 본다.</li>
  <li><strong>LOIO(leave-one-individual-out)</strong>: 개체 하나를 테스트로 홀드아웃하고 나머지 개체로 학습한다. 학습에 없던 개체 일반화를 더 엄격하게 측정한다.</li>
  <li><strong>kfold</strong>: 전체를 층화 5겹으로 나눠 채점한다. 같은 개체가 학습과 테스트에 함께 들어가 낙관 편향이 있어 상한 참고로만 본다.</li>
</ul>

<h2 id="4-평가-지표">4. 평가 지표</h2>

<table>
  <thead>
    <tr>
      <th>지표</th>
      <th>정의</th>
      <th>민감한 오류</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>재현율 recall</td>
      <td>실제 앵무 중 통과시킨 비율</td>
      <td>앵무 누락</td>
    </tr>
    <tr>
      <td>정밀도 precision</td>
      <td>통과시킨 것 중 실제 앵무 비율</td>
      <td>사람 음성 오통과</td>
    </tr>
  </tbody>
</table>

<p>사람 음성 오통과는 4단계에서 모사 성공 오탐으로 이어지는 가장 비싼 오류다. 정밀도는 이 오</p>

<h2 id="5-모델-구조">5. 모델 구조</h2>

<p>사전학습 인코더 <code class="language-plaintext highlighter-rouge">Google Perch 2.0</code>로 오디오를 임베딩한다.
이 임베딩을 기준으로 <code class="language-plaintext highlighter-rouge">앵무/비앵무</code>를 분류하는 선형 probe를 학습한다.</p>

<h3 id="5-1-google-perch-20-인코더-파라미터">5-1. Google Perch 2.0 인코더 파라미터</h3>

<p>생물음향데이터로 학습된 인코더이다.</p>

<table>
  <thead>
    <tr>
      <th>항목</th>
      <th>값</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>모델</td>
      <td>Perch 2.0</td>
    </tr>
    <tr>
      <td>임베딩 차원</td>
      <td>1536</td>
    </tr>
    <tr>
      <td>리샘플</td>
      <td>32kHz</td>
    </tr>
    <tr>
      <td>창 길이</td>
      <td>5초</td>
    </tr>
    <tr>
      <td>홉 길이</td>
      <td>2.5초</td>
    </tr>
    <tr>
      <td>피크 정규화</td>
      <td>0.25</td>
    </tr>
    <tr>
      <td>창 풀링</td>
      <td>평균</td>
    </tr>
  </tbody>
</table>

<h3 id="5-2-probe-파라미터">5-2. probe 파라미터</h3>

<table>
  <thead>
    <tr>
      <th>항목</th>
      <th>값</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>전처리</td>
      <td>표준화</td>
    </tr>
    <tr>
      <td>분류기</td>
      <td>L2 로지스틱 회귀</td>
    </tr>
    <tr>
      <td>클래스 가중</td>
      <td>균형</td>
    </tr>
    <tr>
      <td>규제 강도 C</td>
      <td>0.2154, 내부 교차검증 선택</td>
    </tr>
  </tbody>
</table>

<h4 id="probe-운영-임계값-τ-산정">probe 운영 임계값 τ 산정</h4>

<p>정책 R2를 채택한다.</p>

<p>사람 음성 오통과율(FAR) 상한을 2%로 정하고 그 안에서 앵무 재현율을 최대화한다. <code class="language-plaintext highlighter-rouge">운영 임계값 τ는 0.0378</code>이다.</p>

<p>probe는 클래스 1 = 앵무(parrot)의 확률(0~1)을 도출한다.</p>
<ul>
  <li>앵무 확률 ≥ τ(0.0378) → 앵무 (통과)</li>
  <li>앵무 확률 &lt; τ(0.0378) → 비앵무 (차단)</li>
</ul>

<p>고려했던 대안 정책 비교:</p>

<table>
  <thead>
    <tr>
      <th>정책</th>
      <th>사람 FAR 상한</th>
      <th>τ</th>
      <th>전체 재현율</th>
      <th>conure 재현율</th>
      <th>판정</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>R1</td>
      <td>3%</td>
      <td>0.015</td>
      <td>0.972</td>
      <td>0.927</td>
      <td>사람 오통과 2.9%로 상한 근접</td>
    </tr>
    <tr>
      <td>R2</td>
      <td>2%</td>
      <td>0.0378</td>
      <td>0.966</td>
      <td>0.914</td>
      <td>채택</td>
    </tr>
    <tr>
      <td>R3</td>
      <td>1%</td>
      <td>0.077</td>
      <td>0.950</td>
      <td>0.874</td>
      <td>conure 재현율 보수적</td>
    </tr>
    <tr>
      <td>R4</td>
      <td>사람 1%, 잡음 5%</td>
      <td>0.077</td>
      <td>0.950</td>
      <td>0.874</td>
      <td>R3과 동일 τ</td>
    </tr>
    <tr>
      <td>하한</td>
      <td>0.5%</td>
      <td>0.600</td>
      <td>0.837</td>
      <td>0.656</td>
      <td>conure 재현율 급락</td>
    </tr>
  </tbody>
</table>

<h2 id="6-성능">6. 성능</h2>

<p>운영 임계값 τ=0.0378에서의 성능</p>

<table>
  <thead>
    <tr>
      <th>지표</th>
      <th>값</th>
      <th>지표 정의</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>전체 앵무 재현율</td>
      <td>0.966</td>
      <td>실제로 앵무인 클립 중에서 앵무로 판정된 비율</td>
    </tr>
    <tr>
      <td>사람 음성 오통과율</td>
      <td>0.019</td>
      <td>사람 음성 클립 중 앵무로 잘못 판정된 비율</td>
    </tr>
    <tr>
      <td>잡음 오통과율</td>
      <td>0.020</td>
      <td>잡음 클립 중 앵무로 잘못 판정된 비율</td>
    </tr>
  </tbody>
</table>

<p>LOSO 종별 분리도:</p>

<table>
  <thead>
    <tr>
      <th>종</th>
      <th>표본</th>
      <th>재현율</th>
      <th>ROC-AUC</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>conure</td>
      <td>151</td>
      <td>0.967</td>
      <td>0.9958</td>
    </tr>
    <tr>
      <td>lovebird</td>
      <td>150</td>
      <td>1.000</td>
      <td>1.0000</td>
    </tr>
    <tr>
      <td>cockatiel</td>
      <td>89</td>
      <td>1.000</td>
      <td>1.0000</td>
    </tr>
    <tr>
      <td>budgerigar</td>
      <td>60</td>
      <td>0.967</td>
      <td>0.9988</td>
    </tr>
    <tr>
      <td>quaker</td>
      <td>44</td>
      <td>1.000</td>
      <td>1.0000</td>
    </tr>
    <tr>
      <td>cockatoo</td>
      <td>7</td>
      <td>1.000</td>
      <td>0.9995</td>
    </tr>
    <tr>
      <td>patagonian_conure</td>
      <td>2</td>
      <td>1.000</td>
      <td>1.0000</td>
    </tr>
  </tbody>
</table>

<p>종별 재현율은 폴드마다 사람 FAR 2% 상한에서 임계값을 다시 선택한 값이다. kfold 낙관 상한은 ROC-AUC 0.9999, 전체 재현율 1.000이다.</p>

<p>지표는 두 가지로 판정한다.</p>

<ul>
  <li>
    <p>균형정확도를 0.5 임계값에서 계산하면 하드 네거티브 유입으로 캘리브레이션이 이동해 대표성이 낮아진다. conure는 0.841로 감소한다.</p>
  </li>
  <li>
    <p>ROC-AUC로 임계 무관 분리도를, 재현율로 운영점 성능을 판정한다.</p>
  </li>
</ul>

<h2 id="정리">정리</h2>

<p>현재 2322개 클립으로도 gate 성능이 높은 것이 확인되었다.
추후 buddybird-prod S3에 실제 사용자의 데이터가 쌓이는 대로, 다음 버전으로 개선할 예정이다.</p>

<h2 id="기타">기타</h2>

<p>오디오 전체에 걸쳐 잡음이 앵무새 소리보다 크게 나타나는 경우 ‘비앵무(non_parrot)’으로 처리되는 경향이 있다.</p>

<p>또한 conure의 재현율이 떨어진 이유는 ‘코뉴어_김공룡’의 단어 말하기 발화가 저음이고 톡특하기 때문인 것으로 판단된다. 그 외 개체의 단어 말하기 발화는 모두 정확이 분류되었다.</p>

<p>LOSO에서 FN(실제 앵무이나 비앵무로 판단된 클립)을 살펴보면 아래와 같다.</p>

<ul>
  <li>conure종 김공룡 발화 클립이 13개</li>
  <li>budgerigar종 클립이 4개</li>
</ul>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><category term="앵무새_소리_여부_판별_모델" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry><entry><title type="html">[버디버드] 앵무새의 인간 언어 모사 성공여부 판정 파이프라인</title><link href="https://daeunworld.xyz/aisw_maestro/2026/08/11/pipeline.html" rel="alternate" type="text/html" title="[버디버드] 앵무새의 인간 언어 모사 성공여부 판정 파이프라인" /><published>2026-08-11T00:00:00+09:00</published><updated>2026-08-11T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/08/11/pipeline</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/08/11/pipeline.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<p>https://www.instagram.com/king_gongryong/
https://www.instagram.com/buddybird.xyz/</p>

<hr />

<h2 id="앵무새의-인간-언어-모사-성공여부-판정-파이프라인">앵무새의 인간 언어 모사 성공여부 판정 파이프라인</h2>

<p>Parrot Human-Speech Mimicry Assessment Pipeline</p>

<h3 id="목적-앵무새가-안녕예시-발음에-성공실패-여부-판별">목적: 앵무새가 ‘안녕(예시)’ 발음에 성공/실패 여부 판별</h3>

<p><code class="language-plaintext highlighter-rouge">버디버드</code>는 보호자가 부재중일 때 앵무새의 말 학습을 도와주는 서비스.</p>

<blockquote>
  <p>‘안녕(예시)’ 학습 세션에서 앵무새가 실제로 ‘안녕’을 따라 말하는 데 성공/실패했는지를 자동으로 판정하는 것이 목표.</p>
</blockquote>

<hr />

<h3 id="제약사항">제약사항</h3>

<h4 id="1-이-파이프라인의-입력값에는-노이즈가-있다">1. 이 파이프라인의 입력값에는 노이즈가 있다.</h4>

<ul>
  <li>입력값: 사용자의 기기에서 VAD(소리가 난 구간만 자름)처리된 audio clip(이하 VAD clip)</li>
  <li>앵무새 소리, 사람 소리, TV 소리 등등이 모두 섞여 있는 형태.</li>
</ul>

<h4 id="2-안녕예시-판단에-앵무새의-안녕-발화를-사용할-수-없다">2. ‘안녕(예시)’ 판단에 앵무새의 ‘안녕’ 발화를 사용할 수 없다.</h4>

<ul>
  <li>안녕의 경우 대중적이라 앵무새의 발음 오디오를 수집할 수 있으나,</li>
  <li><strong>‘망고야’, ‘아구내새끼’ 등 개인화된 단어의 앵무새 발음은 수집하기 어렵다.</strong></li>
  <li>==&gt; 사용자가 ‘단어 생성’ 단계에서 녹음한 <code class="language-plaintext highlighter-rouge">1~5개의 사용자 목소리 녹음본</code>이 기준이 되어야 한다.</li>
</ul>

<hr />
<h3 id="파이프라인-구조-설계">파이프라인 구조 설계</h3>

<p>현재 검토중인 파이프라인이다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>0. VAD 클립 입력
1. 앵무새 소리 여부 판별 — 사람 음성·TV 등 잡음 VAD 클립 자체를 제외.
2. biodenoising — VAD 클립에서 앵무새 음성만 남기고 이외 섞인 잡음 제거
X. (기각) 울음 vs 발화 시도 판별 —&gt; 기각됨. 
3. 발화 성공 여부 판정 — 보호자 녹음과 비교하여 성공/실패 반환
</code></pre></div></div>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-11-pipeline/0.jpeg" alt="버디버드 앱" /></p>

<hr />

<h3 id="step-0입력값-vad-클립-입력">Step 0(입력값). VAD 클립 입력</h3>

<p>‘학습 세션’이 진행될 때, 일정 음량 이상의 소리가 감지되면, 그 부분만 잘라 audio clip으로 서버로 전송된다.</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-11-pipeline/training.jpeg" alt="버디버드 앱" /></p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-11-pipeline/1.jpeg" alt="버디버드 앱" /></p>

<h3 id="step2-앵무새-소리-여부-판별">Step2. 앵무새 소리 여부 판별</h3>

<p>사람음성, TV 등 잡음으로 판단된 VAD clip을 걸러낸다.</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-11-pipeline/2.jpeg" alt="버디버드 앱" /></p>

<p>이 단계에서 ‘사람 목소리’를 걸러내는 것이 매우 중요하다.
이 부분이 안될 경우, step4에서 ‘보호자 녹음’과 유사도가 높게나옴 -&gt; <code class="language-plaintext highlighter-rouge">사람 목소리가 '발화 성공'으로 오판</code>될 가능성이 있다.</p>

<h4 id="검토-기술">검토 기술</h4>

<ol>
  <li>Perch 2.0 (Google) + probe</li>
  <li>AVEX (EarthSpecies) + probe</li>
</ol>

<p>(자세한 검토 내용은 다른 포스트에서 다루겠다)</p>

<h3 id="step-x-울음-vs-발화-시도-판별--기각됨">Step X. 울음 vs 발화 시도 판별 —&gt; 기각됨.</h3>

<p>앵무의 발화 시도는 인간 목소리와 유사할 것이라는 가설을 토대로 한 단계이다.</p>

<p>-&gt; 아닌 것으로 판명되었다.</p>

<h3 id="step-3-발화-성공-여부-판정">Step 3. 발화 성공 여부 판정</h3>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-11-pipeline/3.jpeg" alt="버디버드 앱" /></p>

<p>보호자 녹음본과 비교하여 성공/실패를 반환한다.</p>

<h3 id="검토-기술-1">검토 기술</h3>

<ol>
  <li>SSL 프레임 임베딩 + DTW</li>
  <li>…</li>
</ol>

<hr />]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry><entry><title type="html">[버디버드] 서비스 방향에 변화를. “앵무새 부재중 All in One 케어 앱”</title><link href="https://daeunworld.xyz/aisw_maestro/2026/08/01/log.html" rel="alternate" type="text/html" title="[버디버드] 서비스 방향에 변화를. “앵무새 부재중 All in One 케어 앱”" /><published>2026-08-01T00:00:00+09:00</published><updated>2026-08-01T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/08/01/log</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/08/01/log.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<h2 id="초기-기획-앵무새-말-가르치기에-올인하는-앱">초기 기획: 앵무새 ‘말 가르치기’에 올인하는 앱!!</h2>

<p>커뮤니티 기능이나, 건강 관리 기능, 앵무 상태 기록 등은 완전 제외.</p>

<p><strong>‘말 가르치기’ 관련 기능들만 가진 앱</strong></p>

<ul>
  <li>학습 세션
    <ul>
      <li>‘안녕’ 음성 반복 재생</li>
    </ul>
  </li>
  <li>보호자 목소리 단어 추가
    <ul>
      <li>보호자의 목소리를 녹음하여 학습시킬 수 있도록</li>
    </ul>
  </li>
  <li>앵무 종 별 단어 학습 커리큘럼
    <ul>
      <li>(종 별로 발음이 쉬운 자모가 다릅니다)</li>
    </ul>
  </li>
  <li>앵무가 잘 학습하는지 체크
    <ul>
      <li>앵무의 인간 언어 발음을 확인할 수 있는 모델 개발.</li>
      <li>발음 성공 실패 확인 후 보호자에게 알림.</li>
    </ul>
  </li>
  <li>듀오링고처럼 단어 하나 클리어하면 보상</li>
  <li>기타등등</li>
</ul>

<h2 id="과연-앵집사들은-그런-앱을-원할까">과연 앵집사들은 그런 앱을 원할까?</h2>

<p>앵무에게 말을 가르치는 것은</p>

<ul>
  <li>이미 말을 가르쳐서, 지금에 만족하는 경우.</li>
  <li>말보다는 애교를 원하는 경우.</li>
  <li>말을 가르치고 싶으나, 버디버드 앱을 사용하기는 귀찮은 경우</li>
</ul>

<h2 id="변경-부재중-all-in-one-케어-앱">변경: ‘부재중 All in One 케어 앱’</h2>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-08-01-log/7.jpg" alt="버디버드 MOU 프로젝트 소개" /></p>

<blockquote>
  <p>말을 가르치고 싶어 하는 앵집사 «&lt;  앵무새를 혼자 두는 것이 불편한 앵집사</p>
</blockquote>

<p><strong>더 확실한 수요</strong>를 가지고 있고,
<strong>고객 대상이 크게 늘어난다</strong>고 판단했다.</p>

<p>‘말 가르치기’는 추가적인 욕심인데 반해.</p>

<p>부재중 케어는 더 <strong>‘건강&amp;케어’</strong>의 성격을 띄므로, 더 필수적인 아이템이다.</p>

<h3 id="앵집사-누구나-필요를-느끼는-것이-무엇일까-고민했다">앵집사 ‘누구나 필요를 느끼는 것’이 무엇일까 고민했다.</h3>

<blockquote>
  <p>내가 집을 비웠을 때.</p>
</blockquote>

<ul>
  <li>앵무는 소형동물로, 쉽게 죽을 수 있다.
    <ul>
      <li>갑자기 변기통에 뛰어들기도,</li>
      <li>새장에 발목이 걸린채 푸드덕대기도,</li>
      <li>약봉투 부숴서 약먹기</li>
      <li>아무거나 주숴먹기</li>
      <li>돌연사 등등</li>
    </ul>
  </li>
  <li>앵무는 사회적 상호작용이 부족하면 자해 가능성이 높아진다.
    <ul>
      <li>1마리만 키우고, 보호자의 외출 시간이 긴 경우.</li>
      <li>보호자가 장기간 집을 비우는 경우(여행, 출장 등)</li>
    </ul>
  </li>
</ul>

<blockquote>
  <p>저도 이러한 이유로 집을 장기간 비웠으 때, 공기계로 펫캠 앱을 실행해두고 갑니다</p>
</blockquote>

<h2 id="이-방향은-확신이-든다">이 방향은 확신이 든다.</h2>

<blockquote>
  <p>보호자는 공기계로 앱에서 ‘시작/중지’ 버튼만 누르면 끝!!!</p>
</blockquote>

<ul>
  <li>그 사이에 알아서 <code class="language-plaintext highlighter-rouge">학습 - 스트레스 케어</code>를 앵무새 반응에 따라 진행.</li>
  <li>이상행동이 감지되면 보호자 폰에 알림을 보낸다. (펫캠)</li>
  <li>보호자는 언재든 펫캠을 확인 가능하다.</li>
</ul>

<h2 id="화이팅">화이팅!</h2>

<p>벌써 8월이다. 시간이 얼마 남지 않음이 느껴진다.</p>

<p>스퍼트를 더 내보자. 화이팅 !!</p>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><category term="앵무새" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry><entry><title type="html">[MAKE] Firestore로 신규 수집된 데이터를 slack 메세지로 전송</title><link href="https://daeunworld.xyz/aisw_maestro/2026/07/29/nocode_tool.html" rel="alternate" type="text/html" title="[MAKE] Firestore로 신규 수집된 데이터를 slack 메세지로 전송" /><published>2026-07-29T00:00:00+09:00</published><updated>2026-07-29T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/07/29/nocode_tool</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/07/29/nocode_tool.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<h2 id="피드백을-더-빠르게-확인하기-위하여">피드백을 더 빠르게 확인하기 위하여</h2>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-29-make-log/1.jpeg" alt="버디버드 지표" /></p>

<p>버디버드 앱에는 <code class="language-plaintext highlighter-rouge">프로필</code> 탭에 피드백 창구가 존재합니다. 현재(26.07.29)까지 2명의 앵집사께서 이 창구로 피드백을 남겨주셨습니다.</p>

<h3 id="피드백은-firebase---firestore에-기록된다">피드백은 Firebase - Firestore에 기록된다.</h3>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-29-make-log/2.jpeg" alt="버디버드 지표" /></p>

<p>사이트에 들어가서 확인해야 하므로, 즉각즉각 확인이 힘든 문제가 있습니다.</p>

<h2 id="어떤-방법이-효율적일까">어떤 방법이 효율적일까?</h2>

<h3 id="1-피드백이-들어오면-jira-티켓-자동-발행">1. 피드백이 들어오면 Jira 티켓 자동 발행</h3>

<ul>
  <li>
    <p>각 피드백에 대한 토의를 바로 티켓 댓글에서 진행하면 됨.</p>
  </li>
  <li>
    <p>BUT<code class="language-plaintext highlighter-rouge">ㅇㅇ, ㄴㄴ 등</code>고려할 필요가 없는 피드백이 무분별하게 티켓으로 발행될 가능성</p>
  </li>
</ul>

<p>-&gt; 기각.</p>

<h3 id="2-피드백이-들어오면-팀-slack에-자동-알림-검토-후-수동으로-jira-티켓-생성">2. 피드백이 들어오면 팀 Slack에 자동 알림, 검토 후 수동으로 Jira 티켓 생성</h3>

<p>채택 !</p>

<h2 id="고려한-구현-방안">고려한 구현 방안</h2>

<h3 id="1-firebase의-cloud-function-사용---기각">1. Firebase의 <code class="language-plaintext highlighter-rouge">Cloud Function</code> 사용 -&gt; 기각.</h3>

<p>firebase 자체에 cloud function을 선언.
사용자 피드백이 들어온 즉시, 팀 Slack에 알림을 보내도록 한다.</p>

<p>cloud function을 사용하려면 firebase 요금제 업그레이드 필요.
사용량이 적어 무료 크레딧(300$) 범위에서 사용 가능하지만,
무조건 40,000원이 빠져나가고, 나중에 payment를 해지해야 이 40,000이 환불됩니다.</p>

<p>그 사이에 무료 크레딧을 초과하면 40,000은 돌려받지 못합니다.</p>

<p>무서워서 기각.</p>

<h3 id="2-makecom--코딩-없이-다양한-앱과-서비스를-연결---채택">2. Make.com : 코딩 없이 다양한 앱과 서비스를 연결 -&gt; 채택</h3>

<p>코딩 없이 다양한 앱과 서비스를 연결하여 반복적인 업무를 자동화할 수 있는 노코드(No-code) 플랫폼</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-29-make-log/3.jpeg" alt="버디버드 지표" /></p>

<p>Google Cloud Platform에서 여러 API 권한 세팅을 진행해야 한다. 조금 귀찮음이 있습니다. 대략 10분 소요.</p>

<p>아래와 같이 알림을 보내줍니다.</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-29-make-log/4.jpeg" alt="버디버드 지표" /></p>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry><entry><title type="html">[버디버드] MVP 출시 과정 &amp;amp; Analytics 지표 분석</title><link href="https://daeunworld.xyz/aisw_maestro/2026/07/11/log.html" rel="alternate" type="text/html" title="[버디버드] MVP 출시 과정 &amp;amp; Analytics 지표 분석" /><published>2026-07-11T00:00:00+09:00</published><updated>2026-07-11T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/07/11/log</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/07/11/log.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<h2 id="버디버드-mvp-출시-과정-및-지표-분석">버디버드 MVP 출시 과정 및 지표 분석</h2>

<h3 id="71--73-사전예약자-81명-대상-배포">7/1 ~ 7/3 사전예약자 81명 대상 배포</h3>

<p>5월 말에 instagram 광고로 사전예약자를 모집했고, 이때 연락처를 적어둔 사전예약자 대상으로 문자를 보냈다.</p>

<p>앱을 설치하신 분이 17명이었다.</p>

<p>사용 현황도 예상보다 저조해서 ‘<strong>김공룡’ 앵스타 &amp; ‘버디버드’ 인스타로 릴스</strong>를 올려 홍보했다.</p>

<h3 id="76-김공룡-앵스타--버디버드-instagramthreads로-홍보">7/6 김공룡 앵스타 &amp; 버디버드 Instagram&amp;Threads로 홍보</h3>

<ul>
  <li><a href="https://www.instagram.com/king_gongryong/">김공룡 앵스타</a></li>
  <li><a href="https://www.instagram.com/buddybird.xyz/">버디버드 인스타</a></li>
</ul>

<p>광고 보다 기존 앵집사 팔로워를 모아 둔 인스타&amp;스레드로 홍보를 하는 것이, 타겟층 타율이 높을 것이라고 판단했다. 따라서 <strong>광고는 하지 않았다.</strong></p>

<p>홍보 릴스(<a href="https://www.instagram.com/p/DacPWEqiA5G/">https://www.instagram.com/p/DacPWEqiA5G/</a>)가 조회수 2만(26.07.11 기준)을 기록하며, 알고리즘을 탔다.</p>

<h2 id="버디버드-mvp-사용자-추이-분석">버디버드 MVP 사용자 추이 분석</h2>

<p>7/6 릴스 업로드 이후, 사용자 유입이 크게 증가했다. 이후 유입이 감소하는 모습을 보인다.</p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-11-log/1.png" alt="버디버드 지표" /></p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-11-log/2.png" alt="버디버드 지표" /></p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-11-log/3.png" alt="버디버드 지표" /></p>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-11-log/4.png" alt="버디버드 지표" /></p>

<p>앱을 실제로 사용한 평균 시간이 9분 14초이다.</p>

<ul>
  <li>제대로 사용하는 사람들이 있다.
    <ul>
      <li>clarity로 각 사용자의 사용시간을 직접 확인했을 때, 40분 이상의 세션을 3회 이상 진행하는 등.</li>
      <li><code class="language-plaintext highlighter-rouge">instagram 릴스를 보고 가볍게 사용한 사람 다수 + 몇명의 진짜 사용자</code>의 수치가 합쳐진 결과로 보여진다.</li>
    </ul>
  </li>
</ul>

<h3 id="의도대로-가고-있는가--718-추가">의도대로 가고 있는가 ? (7/18 추가)</h3>

<p>버디버드를 기획할 때, ‘공기계’가 궁극적으로는 우리 앱을 설치하게 될 디바이스가 될 것이라고 예상했다.</p>

<p>시간이 경과할 수록, ‘태블릿’ 트래픽이 늘어나는 것을 확인할 수 있다. (모바일 중 공기계도 있겠으나, 현재로서 공기계인지 여부를 판단하는 것은 불가)</p>

<blockquote>
  <p>사용자들이 자연스럽게 앱을 어떻게 사용하면 좋을지 터득하는 듯한 모습이다 !!</p>
</blockquote>

<p><img src="https://cdn.jsdelivr.net/gh/splanky0314/CDN/AISW_Maestro/2026-07-11-log/6.png" alt="버디버드 지표" /></p>

<p>기타 확인한 사항</p>

<ul>
  <li>1일 활성 사용자(DAU) 60</li>
  <li>7일 활성 사용자(WAU) 266</li>
  <li>30일 활성 사용자(MAU) 900</li>
</ul>

<h2 id="마케팅이-중요하구나">마케팅이 중요하구나</h2>

<p>릴스 한 번에 이렇게 유입이 많을 것이라고 생각하지 못했다. 특히 사용자 300명을 넘을 것이라고는 생각도 못했다. 앵스타 &amp; 인스타를 미리미리 공들여 키워 놓은 것은 아주 좋은 판단이었다.</p>

<p>앵무새를 위한 앱이 부재한 상황에서 등장한 앱이라, 반응이 좋았다고 생각한다. ‘우리 서비스가 좋아서’라기보다는, ‘앵무새를 위한 앱이라니??!!’하고 가볍게 설치한 사람들이 다수일 것이라고 생각한다.</p>

<p>사용자가 있다는 것에 아주아주 감사하면서, 열심히 해보자.</p>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry><entry><title type="html">[버디버드] 앵무새의 단어 발음 성공 여부 판별 모델 개발</title><link href="https://daeunworld.xyz/aisw_maestro/2026/07/03/parrot_voice_similarity.html" rel="alternate" type="text/html" title="[버디버드] 앵무새의 단어 발음 성공 여부 판별 모델 개발" /><published>2026-07-03T00:00:00+09:00</published><updated>2026-07-03T00:00:00+09:00</updated><id>https://daeunworld.xyz/aisw_maestro/2026/07/03/parrot_voice_similarity</id><content type="html" xml:base="https://daeunworld.xyz/aisw_maestro/2026/07/03/parrot_voice_similarity.html"><![CDATA[<p><code class="language-plaintext highlighter-rouge">버디버드</code>라는 앵무새에게 말을 가르치는 서비스를 개발중입니다.
아래는 그 과정에 대한 기록입니다.</p>

<h2 id="앵무새의-단어-발음-성공여부를-반환하는-기술-개발">앵무새의 단어 발음 성공여부를 반환하는 기술 개발</h2>

<blockquote>
  <p>GOAL:</p>

  <p>‘안녕’(ex) 학습을 진행하는 세션에서, 앵무새가 ‘안녕’(ex)을 제대로 발음했는지 성공/실패 여부를 반환하는 모델을 개발한다.</p>
</blockquote>

<p>고려한 방안은 총 3가지이다.</p>

<ol>
  <li>MFCC + DTW</li>
  <li>Whisper STT</li>
  <li>Facebook wav2vec2</li>
</ol>

<p>테스트를 위해 아래와 같이 raw에 3가지 종류의 preprocessed를 적용한 데이터를 사용해 테스트했다.</p>

<ul>
  <li>raw : 원본. 생활소음수준의 노이즈 포함</li>
  <li>rn_processed : raw에 Noise Reduced 적용</li>
  <li>rn_vad_processed : nr_processed에 VAD 처리한 음원</li>
  <li>vtln_processed : nr_vad_processed에 포먼트 보정 처리한 음원</li>
</ul>

<hr />

<h2 id="1-mfcc--dtw">1. MFCC + DTW</h2>

<p>알고리즘 기반의 연산으로 유사도를 판별한다.</p>

<ul>
  <li>raw : 노이즈에 따라 편차가 커 부적합.</li>
  <li>rn_vad_processed : rn, vad 파라미터를 적절하게 맞추면 최고 성능을 보임.</li>
</ul>

<h3 id="인사이트">인사이트</h3>

<h4 id="1사람-음성은-앵무새-발음-성공실패-판단-기준으로-사용할-수-없다">(1).<code class="language-plaintext highlighter-rouge">사람 음성</code>은 <code class="language-plaintext highlighter-rouge">앵무새 발음 성공/실패</code> 판단 기준으로 사용할 수 없다.</h4>

<p>파형 기준으로 수학적 유사도를 계산하므로, 사람 음성과 앵무새 음성 사이에 차이가 크게 잡힌다.</p>

<h4 id="2-noise-reductionnr-vad-파라미터의-영향을-매우-크게-받는다">(2) Noise Reduction(NR), VAD 파라미터의 영향을 매우 크게 받는다.</h4>

<p>오픈소스 NR의 경우 <strong>사람 목소리</strong>를 기준으로 노이즈를 제거한다. 따라서 파라미터를 잘못 조정하면 앵무새 음성이 노이즈로 제거된다.</p>

<p>사람 목소리 기준으로 되어있기에, 음원에 따라 파라미터 조정이 정밀하게 필요하다.</p>

<h3 id="결론---기각">결론 -&gt; 기각</h3>

<p>단어 확장성이 떨어진다. 예를들어 ‘코코야’라는 발음의 성공여부를 판별하려면, 해당 종류 앵무새의 ‘코코야’라는 발음이 존재해야 한다. 새로운 단어를 추가하기 어렵다..</p>

<p><strong>RN, VAD 파라미터에 크게 영향을 받는다.</strong></p>

<hr />

<h2 id="2-openai-whisper">2. OpenAI Whisper</h2>

<p>whisper + g2p + Panphon Distance</p>

<ul>
  <li>whisper: 오디오 음성 인식 모델 (오디오 -&gt; 문자)</li>
  <li>g2p: 문자를 실제 발음되는 소리인 음소(ipa문자열)로 변환 (문자 -&gt; ipa문자열)</li>
  <li>panphon distance: 음소간의 발음 유사도로, 서로 다른 두 음소를 발음할때 발음기관이 얼마나 변화가 생겨야 하는지를 기준으로 유사도를 수치화</li>
</ul>

<h3 id="인사이트-1">인사이트</h3>

<h4 id="1-앵무새-음성을-text로-변환하지-못한다">(1) 앵무새 음성을 text로 변환하지 못한다.</h4>

<p>whisper은 인간 음성으로 학습된 모델이다. 따라서 앵무새 음성을 text로 변환할 때 오차가 크고, 무엇보다 <code class="language-plaintext highlighter-rouge">앵무새 '안녕' 발음 음성을 text로 변환한 데이터</code> 간에 유사성이 관찰되지 않는다.</p>

<p>#### (2) 앵무새 음성을 인간과 유사하게 전처리해 사용해보았지만, 성능은 개선되지 않았다.</p>

<p><code class="language-plaintext highlighter-rouge">피치 변환, 포먼트 조절</code> 전처리를 통해 앵무새 음성을 사람 음성과 유사하게 전처리하고, whisper에 전달하는 방안이다.</p>

<p><code class="language-plaintext highlighter-rouge">앵무새 '안녕' 발음 데이터</code>들 -&gt; 피치변환/포먼트조절 -&gt; whisper의 whisper의 결과물</p>

<p>결과물에서 연관성이 관찰되지 않았다.</p>

<p>또한 이 경우, NR, VAD, Pitch 변환값, 포먼트 조절값까지 오차 영향을 연쇄적으로 받는다.</p>

<h3 id="결론---기각-1">결론 -&gt; 기각</h3>

<p>whisper로 앵무새 음성을 텍스트로 변환하는데 한계가 존재한다.</p>

<hr />

<h2 id="3-facebook-wav2vec2">3. Facebook wav2vec2</h2>

<p>wav2vec2 + Panphon Distance</p>

<p>wav2vec2: 사람 음성 데이터를 음소(ipa문자열)로 나타내는 모델</p>

<h3 id="인사이트-2">인사이트</h3>

<h4 id="1-앵무새-음성을-인간과-유사하게-전처리해-사용해보았지만-성능은-개선되지-않았다">(1) 앵무새 음성을 인간과 유사하게 전처리해 사용해보았지만, 성능은 개선되지 않았다.</h4>

<p>whisper과 같은 결과이다.</p>

<h4 id="2--wav2vec2-embedding">(2).  wav2vec2 Embedding</h4>

<p><code class="language-plaintext highlighter-rouge">인사이트 (1)</code>을 보고,</p>

<p>앵무새 음성을 제대로 고려하지 못하는<code class="language-plaintext highlighter-rouge">ipa문자열</code>에 끼워맞추면서 필요한 특징이 필터링되어 생기는 문제라고 판단.</p>

<p>ipa를 버린다.</p>

<p>wav2vec2는 기본적으로 마지막 24번째 layer로 향하면서, 사람 발음 기준으로 음성을 점점 단순화시킨다. 그 결과 마지막 layer에서는 ipa문자열로 최종 결과가 나온다.</p>

<p>여기 24개 layer 중 앵무새 발음 데이터를 기준으로, 공통점이 보이는 결과가 도출된 layer의 결과값을 사져온다.</p>

<p>즉, 24개 layer 중 앵무새 발음 판단에 가장 적합한 layer를 고르고 가중치를 두고 평균을 낸다(2, 3, 4, 20), 해당 layer의 hidden state에서 코사인 유사도로 발음 성공 여부를 판단한다.</p>

<h3 id="결론---긍정적-추가-검토-필요">결론 -&gt; 긍정적. 추가 검토 필요.</h3>

<p>이 방법을 사용했을 때, 현재 데이터 기준으로 약 67%의 판별 성공률을 보인다.</p>

<추가 조사="" 필요="">

- 어떻게 정답 벡터를 도출할 것인가. 
- 정답 벡터를 '인간 음성'으로부터 도출하는 방법은 없을까.
- 정답 벡터와의 거리 몇을 성공/실패 임계값으로  설정할 것인가.
- 더 많은 데이터에 적용했을 때도 효과가 관찰되는가.
- 코뉴어, 퀘이커 이외 다른 종에서도 효과가 관찰되는가.

---

## 정리

wav2vec2를 사용하는 방안이 적합하다. 

여기에서 잠시 멈추고, 나중에 데이터를 충분히 확보한 다음에 추가 고도화 및 검증이 필요하다.
</추가>]]></content><author><name>Daeun</name></author><category term="AISW_Maestro" /><category term="AISW마에스트로" /><category term="17기" /><category term="2026년" /><category term="서울센터" /><category term="버디버드" /><category term="다희혁" /><summary type="html"><![CDATA[버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.]]></summary></entry></feed>