목록프로젝트 (19)
헬창 개발자
지인이 재미있는 데이터셋을 들고 왔다. Junnos/luckyvicky · Datasets at Hugging Face와, 첫 장거리 운전이라니 완전 설레겠다! 🚗💨 나도 처음엔 긴장했는데, 알고 보니 완전 재밌더라고! 😆 길 잃어도 괜찮아. 오히려 새로운 곳 발견할 수도 있고, 여행은 그런 게 또 매력 있잖huggingface.co 요즘 유행하는 원영적 사고 데이터셋이다. 문득 이걸로 챗봇을 만들면 재밌을거 같아서 프로젝트를 수행하기로 했다. 모델은 가벼운 모델은 찾다가 EleutherAI/polyglot-ko-5.8b 모델을 선정했다. 학습 데이터를 구성하기 위해 input/output 데이터를 전처리를 해주는 과정을 진행했다. import json from datasets import Dat..
4학년 2학기는 대회 준비때문에 많이 바쁘게 흘러 갔다. 원래 취준을 하려고 했는데 아직 부족한게 많고 대외활동도 하고 싶어서 미뤘다가 마침 빅데이터 경진대회가 있다고해서 참여를 했다. 연구는 항상 가설을 세우는게 중요한거 같다. 우리 팀의 가설은 전라북도의 에너지 자립도가 최하이이며 그중 전주시가 제일 낮다라는 기사를 발견하고 데이터를 수집했다. 에너지 자립을 높일 수 있는 방법을 찾기위해 태양광 발전기를 생각했고 에너지 자립도가 낮은 행정동에 풍부한 일조량등등 태양광 발전기가 도입 될 수 있는 최적의 위치를 분석했다. 데이터 분석 모델링은 다음 처럼 설계했다. 데이터를 수집하면서 느낀점은 전라북도에서 제공하는 데이터가 너무 적다는것이다. 서울시 데이터포털만해도 방대한 데이터인데 전라북도는... 수집한..
시연영상 https://www.youtube.com/watch?v=cgk909Pja_Q -----시상식 사진-------
방학때 졸업논문을 쓰면서 토이 프로젝트를 진행했는데 포스팅을 이제야 쓴다 :) 리액트라는 라이브러리를 공부하기 위해 프로젝트를 진행하였는데 주제를 요즘 트렌드인 MZ로 잡았다. 또 소프트웨어공학을 배웠으니까 공학을 적용하여 프로젝트를 진행했다. 요구 사항을 수집하여 분석한 결과 MZ 세대를 테스트할 수 있는 웹이 있었으면 좋겠으며, 로딩창, 결과창 공유가 가능했으면 좋겠다는 요구를 받았다. 시퀀스 다이어그램, CPM 네트워크, 일정표이다. 간단한 프로젝트라서 시간날때마다 구현하고 회의를 해서 학기 프로젝트보다는 압박감이 없어서 좋았다. 위 사진들은 실제 구현 화면이다. 웹에 접속을 하면 MBTI 테스트 처럼 질문과 응답을 할 수 있으며 최종 질문을 고르고 점수를 합산하여 합산된 점수의 맞는 결과창을 보여..
이번 포스팅에서는 얼굴 감정 인식 모델과 텍스트 감정 인식 모델의 감정을 어떻게 하나로 합치는지를 설명합니다. 제가 제안한 모델 구조입니다. 얼굴 감정의 결과는 각 감정의 확률로 나오고 텍스트 감정의 결과는 코사인 거리를 계산하여 도출 합니다. 두 개의 모델을 합치기 위해선 새로운 수식이 필요한데 저는 밑의 수식처럼 멀티모달의 감정 수식을 계산 했습니다. Em은 두 개의 감정을 결합하여 생선한 최종 감정을 의미하며 Et와 Es는 가각 얼굴과 텍스트에 대한 감정 순위를 의미합니다. p는 얼굴 감정에 부여하는 가중치이며, 텍스트 감정에 대한 가중치는 (1-p)로 모든 가중치의 합은 1이 됩니다. 이제 실험 평가를 해봐야겠죠?? 저는 AIHUB에서 제공하는 멀티 모달 데이터셋을 이용하여 평가했습니다. http..
이번 포스팅은 얼굴정보를 통해 감정을 인식하는 방법에 대해 설명합니다. 얼굴 인식 모델로는 CNN, DNN 등 다양한 신경망 모델이있습니다. 저는 CNN을 통해 얼굴 감정인식 모델을 구현하겠습니다. 먼저 모델 구조입니다. 데이터셋은 FER 2013 데이터를 사용하여 CNN 모델을 학습 시켰습니다. input image는 64 x 64로 들어가며 합성곱 과정과 배치 정규화, 활성화 함수, 폴링 과정을 거처 최종 감정이 도출됩니다. 정확도는 65%를 기록했네요 실제 구현 화면이며 코드는 해당 사이트를 참고하였습니다. https://github.com/omar178/Emotion-recognition GitHub - omar178/Emotion-recognition: Real time emotion recog..
이번 포스팅은 VAD를 학습한 모델을 이용해 감정 차원에 매핑을 하는 방법을 소개합니다. 저번 포스팅때 학습한 모델에 입력값에 문장을 입력하고 출력되는 VAD값을 확인해 보겠습니다 "How can you say that?" 이라는 문장의 VAD값은 [0.4840004858940471, 0.3319215985240239, 0.3930063435385865] 이네요 이제 감정 매핑을 위한 알고리즘이 필요한데 저는 코사인 거리를 계산하여 가장 가까운 벡터값에 감정을 매핑하는 방법을 선택하겠습니다. 코드는 다음과 같습니다. def vad_cos(vad): # surprise v_surprise = 0.875 a_surprise = 0.875 d_surprise = 0.562 # anger v_anger = 0...
이번 포스팅에서는 VAD를 학습한 BERT모델을 구현하고자 합니다. VAD 데이터셋은 다음처럼 감정 지표인 V, A, D 점수로 되어있습니다. 모델의 입력 값으로 문장을 넣은다고 하면 출력 값으로 V, A, D라는 점수가 나오게 됩니다 여기서 문제는 출력 값은 무한대로 나오기 때문에 분류(Classification)의 문제가 아닌 회귀(Regression)의 문제로 모델을 학습시켜야 합니다. 따라서 BERT 모델의 마지막 레이어의 회귀를 추가하여 3개의 출력 값이 나오게 다중출력 회귀 레이러를 추가하여 학습을 진행합니다. 기존 BERT의 모델 구조가 다음과 같다면 제가 구현하는 회귀 BERT 모델의 구조는 다음과 같습니다. 코드는 다음 처럼 D_out 출력층에 3개 출력을 설정해주시고 마지막 출력층에 회..
이번 포스팅에서는 음성 추출 단계인 STT를 파이썬으로 구현한 방법을 소개하겠습니다. 1. 라이브러리 설치 $ pip install SpeechRecognition $ pip install pyaudio 먼저 STT를 사용하기 위한 라이브러리를 설치를 해줍니다. 2. 소스 코드 github.com/Uberi/speech_recognition/blob/master/examples/microphone_recognition.py import speech_recognition as sr # microphone에서 auido source를 생성합니다 r = sr.Recognizer() with sr.Microphone() as source: print("Say something!") audio = r.listen..
저번 포스팅에서는 VAD 데이터를 학습한 언어모델과 얼굴 정보를 인식하는 영상모델을 통해 멀티모달을 구현한다고 하였습니다. 아래 그림은 이번 프로젝트에서 제안하는 시스템 구조입니다. 음성 추출 음성 추출 단계에서는 사용자의 음성정보를 텍스트로 바꾸기위해 STT(Speech to Text)를 사용한다. 이는 구글 API를 이용하여 구현합니다. 텍스트 감정 인식 모델 텍스트로 변환된 음성정보의 감정을 인식하기 위해서는 VAD 데이터를 학습한 언어 모델이 필요합니다. 모델 학습은 BERT를 이용하여 학습을 하며 데이터셋은 vad lexicon 데이터셋을 활용 합니다. 이 데이터셋은 단어를 VAD의 대한 지표 계산한 데이터 입니다. https://saifmohammad.com/WebPages/nrc-vad.ht..