목록전체 글 (99)
Ssul's Blog
0. 챗봇의 기본구조 class ChatLogCreate(generics.CreateAPIView): queryset = ChatLog.objects.all() serializer_class = ChatLogSerializer permission_classes = [AllowAny] def post(self, request, *args, **kwargs): client_id = request.data.get('client') client = Client.objects.get(id=client_id) if client.chat_counter >= 20: return Response({"detail": "대화 횟수가 20회를 초과하였습니다."}, status=status.HTTP_400_BAD_REQUEST..
0. 허깅페이스는 무엇인가?(huggingface.co) 허깅페이스(Hugging Face)는 인공 지능(AI) 분야에서 자연어 처리(NLP)를 중심으로 한 다양한 딥러닝 모델과 도구들을 제공하는 회사. 오픈소스 라이브러리인 'Transformers'를 통해 유명해짐. 이 라이브러리는 다양한 전처리 방법, 모델 아키텍처(BERT, GPT, T5 등), 그리고 후처리 방법을 포함하여 NLP 분야에서 광범위하게 사용. - AI관련 깃허브 느낌 - 내가 만든 모델/데이터셋을 Public, private로 올릴수 있고, Public일 경우 누구나 내가 올려놓은 데이터셋, 모델을 사용할수 있음 - 당연히 다른 사람이 만든 언어모델이 Public으로 공개되어 있다면, 나는 해당 모델을 기반으로 파인 튜닝이 가능함..
0. 멀티모달이란? - 기존의 챗봇, 이미지 구분 등은 텍스트면 텍스트, 이미지면 이미지, 단일한 데이터만 사용하였다. - 하지만, 요즘은 음성을 텍스트로, 텍스트를 입력하면 이미지가 나오고, 이미지를 입력하면 텍스트로 설명하는 모델이 나오고 있음 - 이런 것을 멀티모달이라고 한다. 대표적인 예로는 DALLE가 멀티모달이라고 할수 있다. - DALLE는 텍스트를 입력하면, 그림을 아주 잘 그려준다. 1. 멀티모달의 원리는? - 일반적인 이미지 분류, 문장생성 등의 방법을 CNN과 Transformer를 익히면서 이해했는데, 멀티모달은 어떻게 이뤄지는 것일까? 어떻게 텍스트를 이해하고 이미지를 만들어 주는 것일까? - 대학원에서 교수님께서 간단하게 알려준 개념은, 각각의 잠재공간으로 유사한 공간배치(?)로..
0. GAN 아이디어 - 이미지 생성자모델과 이미지 판별자 모델 두개를 만들어서, 서로 경쟁하듯 학습 - 생성자(Generator): 임의의 노이즈를 입력 받아 그럴듯한 이미지를 생성하는 기능 학습 - 판별자(Discriminator): 입력된 이미지가 실제 이미지인지, 생성자가 생성한 이미지인지 구분하는 기능 학습 - 생성자는 더 실제같은 이미지를 만드는 신경망을 학습하고, - 판별자는 입력된 이미지가 진짜 이미지인지, 생성된 이미지인지 판별하는 신경망을 학습한다. - 이렇게 둘이서 경쟁하듯 학습하면(생성기는 판별기를 속이려하고, 판별기는 생성기를 구분하려 함) 생성자는 정말 실사 같은 이미지를 만들어내게 될수 있다 - 물론 현실에서 판별자가 일찍 학습이 되어, 생성자가 그럴듯한 이미지 자체를 못만들어..
0. 신경망이 학습을 한다는 것 - 구두, 후드, 청바지, 면바지, 원피스, 운동화 등 총 10가지로 분류할수 있는 이미지가 10,000장 있다고 가정 - classification학습: CNN신경망 + 최종 노드가 10인 DNN + softmax로 학습 -> 이미지 입력되면 10가지중 1개로 알려줌 - (2차원으로)임베딩 학습: CNN신경망 + 최종노드가 2인 DNN 학습 -> 2차원 공간에 비슷한것끼리 뭉치는 개념 1. AE(오토인코더) 아이디어 - 그림을 생성하는 모델을 어떻게 만들수 있을까? - 이미지를 신경망에 입력하고, output역시 입력된 이미지가 나오는 신경망을 학습 가능하지 않은가? - 이미지를 입력받아 CNN을 통과하고, 최종적으로 2차원으로 줄이는 DNN을 붙여서 왼쪽 신경망(인코더..