일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- kotlin
- BFS
- 2022 KAKAO BLIND RECRUITMENT
- dp
- const
- JavaScript
- 누적합
- 프로그래머스
- 유니온파인드
- 2023 KAKAO BLIND RECRUITMENT
- 구현
- java
- 자바
- 자바스크립트
- 컴퓨터 비전
- lv2
- 삼성SW역량테스트
- 코틀린
- Lv3
- 컴퓨터비전
- 브루트포스
- 동적계획법
- level3
- 2021 KAKAO BLIND RECRUITMENT
- VAR
- 2018 KAKAO BLIND RECRUITMENT
- level2
- js
- 백준
- 호이스팅
- Today
- Total
코드를 느껴바라
AI : 창의성이 들어간 그림이나 이미지 맞추기 본문
문제 상황
프로젝트 중 창의성을 발휘한 그림에 대해 인식의 필요성이 높아짐
그러나 기존 CNN모델에 창의성을 발휘한 그림들을 추가하면 오히려 학습에 악영향을 끼침
예시) 소 + 개 => 소개 (기본 CNN모델로는 힘듦)
생각한 점
- ai 모델을 만든다기 보다는 기존의 것을 조합해서 활용해 어느 정도 맞출 수 있을거라 생각함
- 사실상 인간의 창의성도 경우의 수가 무한하진 않다.
- 인간들도 대체로 한정적인 방법으로 문제를 해결함
생각되는 창의적인 그림의 예시(예) 소 + 개 = 소개)
1. 직관적인 명사의 혼합 (소와 개의 그림으로 조합)
2. 객체들을 혼합하는 방식 (소와 개의 혼합된 그림)
3. 동음이의어인 형용사를 사용해서 표현하는 방식(작을 소 + 개 ⇒ 작은 개)
그에 따른 검출법
1. 직관적인 명사의 소와 개의 그림으로 조합
⇒ 이때는 사실상 가장 검출하기 쉬움
여러 방법이 있는데 개인적으로 YOLO 알고리즘을 사용해서
[AI/딥러닝] 객체 검출(Object Detection) 모델의 종류 R-CNN, YOLO, SSD
지금까지 딥러닝의 모델과 그 중에서 CNN의 세부 모델까지 알아보았습니다. 2021.07.10 - [SW programming/Computer Vision] - AI, 머신러닝, 딥러닝 이란? 그리고 딥러닝 모델 종류 2021.07.11 - [SW programming/Computer
rubber-tree.tistory.com
한번에 여러 신뢰도 높은 객체들을 검출해낼 수 있다.
이렇게 검출된 라벨을 가지고 자연어처리 모델을 통해 단어를 조합해서 AI가 답으로 제출한다.
자연어처리 모델 선택
GPT도 있고 한국어에 특화된 FastText라는 모델도 존재한다.
우선 GPT에 대해서는 잘알기에 FastText에 대해서 간단히 설명하면
1. 단어 -> 벡터
"소" → [0.2, -0.5, 0.1, ...]
"개" → [0.1, 0.3, -0.4, ...]
2. 벡터 더하기
"소" + "개" = [0.3, -0.2, -0.3, ...]
3. FastText는 사전에 학습된 수많은 단어 벡터 중에서 이 벡터와 가장 가까운 단어 찾음
1. 소개 (유사도 0.84)
2. 개소리 (0.79)
3. 소형견 (0.75)
이런 장단점이 존재하는데
실제 있는 단어만 뽑고 싶다 →FastText(빠르고 신뢰도 높음)
창의적인 조합이나 문맥까지 반영하고 싶다→ GPT(문맥·의도까지 이해해서 뽑아줌)
다양한 후보 중 필터링하고 싶다→ FastText로 후보 추출 → GPT로 랭킹/설명
이런 것들을 보았을때 사실 GPT가 제일 적합한 듯 싶음
2. 객체들을 혼합하는 방식
CLIPCAP(CLIP+GPT2.0) + 이미지 캡셔닝 모델을 활용한다.
모델이 존재함
GitHub - rmokady/CLIP_prefix_caption: Simple image captioning model
Simple image captioning model. Contribute to rmokady/CLIP_prefix_caption development by creating an account on GitHub.
github.com
CLIPCAP을 통하면 해당 사진에서 사진에 대해서 특징을 추출해서 아래와 같이 묘사를 해준다.
"A cow with a dog's head"
"A hybrid animal combining a dog and a cow"
그럼 이러한 문장을 얻을 수 있는데
이 문장에서 키워드를 추출하거나 문장 그대로 GPT를 활용하여
다음 아까 설명한 자연어 처리 방식으로 처리를 해주면 가능
3. 동음이의어인 형용사를 사용해서 표현하는 방식
사실상 불가능하다고 생각한다.
작다 크다 멋지다 예쁘다 구리다 등등
형용사는 사실 인간의 주관적인 기준인 것이 거의 대부분이라 생각함
그래서 작은+개 → 소개 같은 예시에서 개를 인식하는 것은 쉽지만
작다는 것을 어떻게 정의하고 어떤 형용사를 추출할지는 감이 안 잡힘
'개발 > 프로젝트(Project)' 카테고리의 다른 글
Github : webHook 사용해서 PR 알림 디스코드로 받기 (0) | 2025.03.23 |
---|