-
2020.9.24 광주 인공지능사관학교 무박 2일 해커톤 후기🤖𝗔𝗜/🤖광주 인공지능사관학교 2020. 9. 25. 18:33
9월 24일 14:00 PM부터
9월 25일 06:00 AM 까지 광주인공지능사관학교 온라인해커톤을 진행했다!무박으로 코딩 행사 대회에 처음 참여하는 거였고 심지어 온라인은 더더더욱 처음이었다.
밤을 잘 새지 못하는 평소 내 모습을 보면서 약간 걱정도 되었고 ,,
정해진 시간 안에 기획, 디자인, 개발, 발표 자료제작까지 해야한다니.. 재밌을 것 같으면서도 두근두근..! 😮우리 팀은 해커톤 주제가 '언택트 시대에 맞는 데이터를 활용한 웹서비스 제작'이라고 사전에 미리 공지되었기 때문에,
대략적인 기획과 디자인에 대해서 이야기를 미리 준비해두었다.🧡 기획배경 🧡
우리 팀의 주제는
" 시를 랩으로, AI와 함께하는 최고의 음유시인 래퍼 경연대회 플랫폼 " 인공지능 웹서비스다!
기획하게 된 계기는 코로나 19로 인해 오디션 및 경연프로그램 진행이 중단되어 자신의 실력이 어느 정도인지 가늠하기 어렵고,
다른 사람과 비교하며 성장할 기회가 줄어들었다고 생각했다.또한, 랩 장르 특성상 침 방울이 튀기기 쉽고, 사회적 거리두기로 인해 노래방에서 연습하기 어렵다고 느꼈다.
뿐만 아니라 , 다양한 장르의 랩들이 나오며 대중들의 관심도 높아졌지만, 라임과 주제가 뚜렷한 가사를 쓴다는 게 쉽지 않다고 생각했기에
AI가 써준 다양한 랩 가사와 다양한 무료 비트를 활용해, 랩 경연을 진행하는 것이 재밌겠다는 생각이 들었다.
경연 플랫폼으로서, 래퍼 혹은 방청객으로 사용자들이 직접적으로 참여할 수 있는 구조로 투표기능을 구현했고,
얼굴이 노출되지 않고 음성으로만 평가되며, 가사와 비트가 제공되어 경연 참가에 있어 부담이 덜하는 것도 장점이었다.
그리고, 다양한 문학중에서도 시를 포인트로 잡으면서 시를 랩하는, 음유시인이라는 말이 매력적이라고 생각했다.
🧡 팀 구성 및 개발 🧡
프론트 2명, 백엔드 2명, 모델링 1명으로 구성했고,
나는 프론트였고 워밍업프로젝트 전체 팀장을 맡았다.
디자인, 서비스 기획, Zeplin을 활용한 프론트엔드 개발을 진행했다.
프론트엔드가 빨리 진행이 어느정도 끝나야 백엔드와 연결되고, 속도가 진행되기 때문에 얼른 예쁘게 만들어야겠다는 생각이 들었다.
래퍼 녹음화면, 투표화면, 결과 대기화면, 최종 결과 화면 등을 구현하는데, 실시간 남은 투표시간을 구현하기 위해서 javascript를 활용했다.
내가 Adobe XD를 이용해 디자인을 하고, 어떻게 개발해야할지 미리 종이에 예상 도안을 그린후에 후딱 만들어보니까 어느정도 flex속성에서도 익숙해졌다고 느꼈다.
백엔드는 Django와 SQLlite를 사용했다.
그래서 우리가 만든 프론트는 장고의 static, templates에 들어가게 되었다 .
그리고, 투표를 바로 db에서 카운트하여 최종 우승래퍼를 선정할 수 있게 했다.
우리가 가장 힘들었던 것은 녹음기능 구현이었는데, AWS 배포했는데, 도메인이 아직 없어 마이크 권한을 받고 녹음하는 것이 되지 않았다...
해커톤이 6시에 끝났는데 , 자고 일어나니 .. 도메인을 받게 되어서 녹음이 되었다.ㅋㅋㅋ 짜릿..
모델링은 원래 GPT-2를 이용해서 가사를 생성하려고 했는데, gpu가 없고 구글 Colab으로 진행하면 해커톤 시간안에 학습을 끝내지 못할 것 같아, 우리가 만든 특정 라임규칙에 맞게 변형하고 마르코프 모델을 학습시켜서 결과물을 가져오기로 했다.
그리고 진행하면서 시는 훅과 라임을 짜는데도 용이한 데이터셋이라는 생각이 들었다.
저작권에 위반되지 않도록, 저작권법에 접촉되지 않는 무료공유 및 변형가능한 시를 데이터셋으로 활용했다.
그리고 랩 특성 상 '습니다', '다'로 끝나는 문장은 어색하기 때문에 변형하고, 라임 규칙을 만드는 것과, 너무 가사가 길지 않고 짜임새 있는 벌스를 만드려고 노력했다.
해커톤 인공지능사관학교생들과 함께하면서, 더 이벤트 성으로 재미있게 해보고자 우리가 래퍼로 참여해 비트에 맞게 녹음을 하고
야밤 3시 45분부터 4시 15분까지 투표를 받았다. ㅎ_ㅎ
생각보다 많은 분들이 투표해주시고, 직접 배포를 마치고 서비스로 해보니까 확실히 더 재밌었다. 😊
잠깐 이벤트 투표를 진행하고 나니 ..두근두근 거려 일이 손에 안잡혔는데 시간이 얼마 남지 않았다는 걸 깨닫고
우선 모델링 팀에서 함수화해서 github을 이용해 합치고,
그 부분을 계속해서 만들고 있던 ppt 발표자료를 추가해서 마감하고,
발표 녹화하고 , 시연 영상 제작하고,
시연영상과 발표 합치고, 발표자료 pdf 추출하고
5:30분이 마감이었는데 5:00부터 30분간에 진짜 후루루루룩!!! 진행해서 정확히 딱 30분에 제출 마감했다... 쫄깃 그자체ㅠ 💦
심지어... 내가 팀장이어서 발표자료마감, 발표 시연녹화, 제출 다해야 했어서 진심 손에 땀났다..ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
팀원언니가 그렇게 안웃은 모습 ㅋㅋㅋㅋㅋ처음본다고 ㅋㅋㅋㅋㅋㅋ아슬아슬하게 다 제출 하고 나서 다같이 소리 질렀다 . 워후~~~!!!!! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅎㅎㅎㅎ
진짜.. .아침 10시부터 5시 30분까지 한번도 안쉬고 이렇게 개발에만 쫄깃하게 몰두한 경험이 처음이었고 🔥
함께 한 팀원들 모두 다같이 정말 열심히 했기에 더욱 기쁘고 후련했다.
그리고 각자가 잘 해낼 수 있는 역할 분담이 정말 좋았다고 생각했고,
각자 정말 책임감 있게 진행해서 더 완성도 있는 결과물이 나온 것 같았다. ☺️'ㅅ' 열심히 개발하고 맞이하는 이른 아침의 채도낮은 파란 하늘이 예쁘고 뿌듯했다 !!!!!!!!!!
주인공은 나야나 팀... !! 이번 해커톤의 주인공이 우리길ㅎㅎㅎㅎ 💙
'🤖𝗔𝗜 > 🤖광주 인공지능사관학교' 카테고리의 다른 글
Kaggle 타이타닉 데이터로 생존자 규칙 찾기. (0) 2020.08.14 [머신러닝] Boosting, GradientBoosting, 분류 알고리즘 정리 (0) 2020.08.12 [자연어 처리] 기계 번역 Seq2Seq (0) 2020.08.11 MobileNET에 대한 고찰. (0) 2020.08.11 알고리즘 (0) 2020.07.16