그래도 오늘은 어제와 달리 한 일이 있어서 일기를 길게 쓸 수 있을 것 같다! 월요일 교수님과 GPT2 작사 관련 미팅을 위해 자료를 준비했다. 아직 코드를 제대로 모르긴 하지만... 일단 코드의 결과를 분석해보도록 하겠다.
우리는 작사를 위해 Github 의AITEXTGEN이라는 GPT2 인터페이스를 이용해 작곡했다. 우리가 입력한 데이터셋은 518KB의 동요 가사들이다. 대략 600-700 곡 정도의 동요 텍스트 파일이다. 먼저, AITEXTGEN 레포지토리 > Aitextgen 폴더 > aitextgen.py를 참고하면 각 파라미터에 넣어야 하는 값들을 알 수 있는데 집중해야 하는 파라미터는 Prompt와 Temperature이다.
:param n: Numbers of texts to generate.
:param prompt: Text to force the generated text to start with
:param max_length: Maximum length for the generated text
:param temperature: Determines the "creativity" of the generated text.
The value range is different for each type of Transformer.
generate 함수에서 Prompt는 시작 가사를 설정할 수 있게 한다. 우린 시작 가사보다 동요의 주제를 키워드로 주고 싶었는데 아쉬웠다. 그리고 값도 하나밖에 지정할 수 없어서 제한적인 것 같다. 난 '내 친구'와 '학교 종이 땡땡땡' 텍스트를 Prompt 값으로 줬다. Temperature는 작사될 때 AI의 창의력을 얼마나 사용할 것인지를 설정하는 파라미터이다. 설명으로 보면 굉장히 흥미로워서 기대를 많이 했지만.. 결과는 참담했다. 결과는 나중에 보도록 하고, 코드 개발자는 샘플로 Temperature 값을 0.7, 1.0., 1.2로 주었다. 나는 Temperature에 따른 가사 완성도를 보기 위해 0.2부터 1.2까지 0.2 간격으로 값을 설정해 코드를 돌려보았다. ( 한 텍스트 파일 당 10 곡을 generate 했다. )
먼저, Temperature 가 0.2인 경우 만들어진 가사와 원본의 유사도를 검사했을 때 결과가 '심각' 이 나오게 된다. AI의 창의력을 거의 사용하지 않으니 원본을 복사 붙여 넣기 하는 식으로 작사해서 이런 결과가 나오는 것 같다.0.4와 경우는 유사도 결과가 '심각' 이거나 아예 유사한 문장이 없는 경우, 이 두 경우로 나뉜다. 그나마 괜찮은 가사들을 뽑으면 볼 만은 하지만 유사도가 심각한 경우도 있으니 좋은 값은 아닌 것 같다. 그나마 0.8, 1.0 이 가장 괜찮은 결과를 보여주고 그 이상인 1.2, 2.0의 경우 한글이긴 한글인데 이해할 수 없는 문장이 나오기 시작한다. Temperature 값으로는 0.8 ~ 1.0 이 가장 좋은 것 같지만.. 결과가 만족스럽진 않다.
Prompt의 경우, 비교적 짧은 단어인 '내 친구'를 넣었을 때가 '학교 종이 땡땡땡' 을 넣었을 경우보다 결과가 자연스러웠다. '내 친구' 를 넣었을 땐 '내친구야', '내친구들', '내친구 모두 모여서' 등 이어지는 말이 나왔는데 '학교 종이 땡땡땡'을 넣으면 그 뒤에 부자연스러운 문장이 따라오는 경우가 대부분이었다. 교수님이 해보라한 것들을 대충 해보긴 했는데.. 결과가 너무 만족스럽지 않다. GPT3 시크릿키를 발급받았으니 이걸 이용해 좀 더 많이! 발전시켜야 할 것 같다.
'일기' 카테고리의 다른 글
2021-01-21 (0) | 2021.01.21 |
---|---|
2021-01-17 (0) | 2021.01.18 |
2021-01-15 (0) | 2021.01.16 |
2021-01-14 (0) | 2021.01.15 |
2021-01-13 (0) | 2021.01.14 |