CV
-
[Computer Vision] CAM(Class Avtivation Map) 모델을 이용한 특징 시각화
1. 딥러닝에서의 블랙박스 * 블랙박스란 기능을 알지만 작동 원리를 알 수 없는 시스템을 의미함 ex) 고양이/강아지를 분류하는 딥러닝 모델을 만들었다고 했을 때 -> 이미지를 고양이로 잘 분류했지만 어떤 특징을 보고 분류했을까? -> 어떠한 근거로 결과가 도출되었는지 알 수 없다. 2. CAM (Class Avtivation Map) * CAM은 딥러닝 모델에서 이미지의 어떤 특징을 강조했는지 알려주는 시각화 알고리즘 - CNN에서는 Convolution 레이어를 통해 특징을 추출하고, 마지막층에서는 Fully-Connected를 수행해서 분류를 한다. - CAM은 Fully-Connected가 아닌 Global Average Pooling을 사용한다 [CAM(Class Avtivation Map)을 ..
2023.11.29 17:43 -
[GAN] Face 생성 모델 만들기
[Face 생성 모델 만들기] 목표 GAN을 이용해 Face 생성 모델 만들기 데이터셋 * PubFig83 데이터셋 - 유명인 83명에 대한 10000개 가량의 이미지로 구성 https://vision.seas.harvard.edu/pubfig83/ PubFig83 PubFig83: A resource for studying face recognition in personal photo collections This is a downloadable dataset of 8300 cropped facial images, made up of 100 images for each of 83 public figures. It was derived from the list of URLs compiled by Neer..
2023.11.28 16:46 -
[GAN] CIFAR-10 데이터셋을 이용한 이미지 생성 모델 만들기
https://situdy.tistory.com/90 [Computer Vision] GAN (Generative adversarial network) [ GAN (Generative adversarial network) ] 1. GAN? * GAN은 이미지 생성에 주로 사용 하는 딥러닝 모델이다. - CNN은 데이터셋이 어떤 클래스인지 분류하는 문제에서 주로 사용한다면, GAN은 데이터셋과 유사한 situdy.tistory.com 목표 CIFAR-10 데이터셋 기반 새로운 이미지 생성 모델 만들기 (GAN) 데이터셋 * CIFAR-10 - 10가지 객체가 포함되어있는 이미지 데이터셋 💻 실습 * 라이브러리 import import os import numpy as np import math import..
2023.11.28 11:30 -
[Computer Vision] GAN (Generative adversarial network)
[ GAN (Generative adversarial network) ] 1. GAN? * GAN은 이미지 생성에 주로 사용 하는 딥러닝 모델이다. - CNN은 데이터셋이 어떤 클래스인지 분류하는 문제에서 주로 사용한다면, GAN은 데이터셋과 유사한 이미지를 생성하는 모델 [위조 지폐 vs 진짜 지폐] - GAN의 이미지 생성 원리를 '위조 지폐' vs '진짜 지폐' 로 비유하여 설명할 수 있음 1) 생성자(위조지폐범)는 진짜 지폐와 헷갈릴만한 위조지폐를 만든다. 2) 판별자(경찰)은 생성자가 만든 지폐가 진짜인지 가짜인지 구분하려고 한다. 3) 생성자와 판별자는 적대적 관계 => 생성자는 가짜를 계속 생성해내고, 판별자는 진위여부를 계속하여 구분함 2. GAN의 특징 - 생성가능한 적대적 신경망 - 생..
2023.11.28 11:00
NLP
-
[NLP] BERT를 이용한 한국어 금융 뉴스 이진 분류 실습
허깅페이스의 pre-trained model인 BERT를 이용해 실습해보겠습니다. - 목표 : 한국어 금융 텍스트를 이용하여 뉴스 긍정, 부정, 중립 3가지 레이블 분류 https://huggingface.co/ Hugging Face – The AI community building the future. huggingface.co 허깅페이스(HugginFace) - pytorch, tensorflow 모두 가능 - 모델 업로드, 전처리, 학습, 평가 및 테스트 코드 모두 제공 - 다양한 사전 학습 언어 모델을 제공하고 있음. 모델의 Hub 로서의 역할. => ko, kor를 입력하면 한국어 모델 Search 가능 - 토크나이저 : 모델마다 사용해야하는 토크나이저가 존재함. - pipeline : 모델 ..
2023.11.07 17:57 -
[NLP] Pre-trained Language Model(PLM)
사전 학습 모델(Pre-trained Model) - 대용량의 데이터를 이용해 사전 학습한 모델 => 예를 들어 동물을 분류하는 사전 학습 모델이 있다면, 우리는 이 모델을 이용해 고양이를 분류하는 문제에 적용할 수 있음. Fine - tuning - 사전 학습 모델을 풀고자 하는 태스트의 오차에 맞추어서 학습하는 것 => 동물 분류의 사전 학습 모델을 사용하고 싶다면 우리는 고양이를 분류하는 모델에 맞추는 작업이 필요하다 (미세조정) 사전 학습 언어 모델 (Pre-trained Langage Model) 1. ELMo (Embeddings from Language Model) - 워드 임베딩 방법론 - 사전 학습된 LSTM 언어 모델 두 가지를 결합하여 만들어짐 2. GPT - 트랜스포머의 디코더를 ..
2023.11.07 15:28 -
[NLP] Seq2Seq(Sequence-to-Sequence)
자연어 처리 - 자연어 처리는 크게 자연어 이해(NLU)와 자연어 생성(NLG)의 영역이 있음 - 자연어 생성은 기계가 텍스트를 스스로 생성하는 영역을 말함 Seq2Seq(Sequence-to-Sequence) - 입력된 시퀀스로 부터 다른 도메인의 시퀀스를 출력 - 인코더와 디코더로 구성되어있음. - 인코더는 NLU, 디코더는 NLG에 유리함. ex) 챗봇, 기계 번역, 텍스트 요약 - Seq2seq 는 인코더와 디코더 모듈로 구성 - 입력 데이터를 인코더에 입력 받고 컨텍스트 벡터라는 단어 정보들의 압축한 벡터를 만듦 - 디코더는 컨텍스트 벡터를 받아 번역된 단어 출력 Seq2seq 의 알고리즘 * Greedy Decoding - seq2seq의 디코더는 기본적으로 RNN 언어 모델 => 가장 높은..
2023.11.06 17:04 -
[NLP] 시퀀스 모델 - RNN, LSTM, GRU
📌 FFNN은 인공 신경망의 가장 기본적인 형태이며, MLP는 다층 퍼셉트론을 뜻하며 은닉층이 있는 FFNN 유형 중 하나. RNN은 FFNN과 달리 순환 구조로 이루어져 있기 때문에 이전 정보를 가지고 현재 작업에 반영하므로 순차적인 데이터에 효과적임. +) RNN의 단점을 보완하기 위해 나온 LSTM 모델 , LSTM을 개선한 GRU 모델 등 다양한 시퀀스 모델에 대해 알아보겠습니다. 1. Feed Forward Neural Network (순방향 신경망) - 인공신경망의 최초 유형이자. 가장 단순한 형태 - MLP는 FFNN(Feed Forward Neural Network)의 한 유형 - 입력 노드로부터 출력 노드 방향으로 한 방향(순방향)으로만 움직임. - 입력측 -> 은닉층 -> 출력층 - 단..
2023.11.06 16:56
KT 에이블 스쿨
-
[KT AIVLE(에이블 스쿨) 3기 AI 트랙] 최종 발표회 / Closing Day
발표회 & Closing Day 07/06 (목) - 최종 산출물 제출 07/11 (월) - 메타버스 발표회 07/12 (수) ~ - 면접 특강 07/18 (화) - Closing Day 😢 메타버스 발표회 빅 프로젝트 최종 제출하고 그 다음주에 발표회 일정이 있었다. 발표회는 대면이 아니고 메타버스 플랫폼에서 이루어졌다. 각 조마다 부스가 있고 포스터/ 발표자료/ 발표 영상을 보고 후기를 남기는 방식! 각 부스를 다 보고 난 뒤 산출물에 대한 설문이 있었다. 1. 창의적인 프로젝트를 구현한 조 2. 현실적인 프로젝트를 구현한 조 3. 완성도가 높은 프로젝트를 구현한 조 4. 팀 워크가 좋은 조 각 문항에 해당하는 조를 투표한다. 그리고 팀원 끼리의 기여도 평가하는 항목도 있었다. Closing Day ..
2023.07.20 15:36 -
[KT AIVLE(에이블 스쿨) 3기] 빅프로젝트 : 자연어처리
AI 💡 주요 기능 Naver Clova Speech API 사용 자연어 처리 모델 제작 문서 작성 모델 제작 💡 기능 순서 진료 음성 파일 → 텍스트로 변환 (API) 자연어 딥러닝 모델을 통해 증상 추출 추출한 환자 증상을 기반으로 의료 보고서 제작 1) 자연어 모델 🔻Data - 해당 진료 대화에 맞는 증상으로 label을 지정 🔻 텍스트 처리에 효과적인 자연어처리 딥러닝 모델 LSTM를 사용하여 학습 🔻테스트 결과 2) Naver Clova Speech API 사용 ( 음성 → 텍스트) 로컬에서 파일 업로드하여 요청 sync 방식으로 응답 요청 2명의 화자 인식 필요 → diarization = True로 설정 🔻 api 사용 결과 🔻 api 활용 결과와 자연어 처리 모델을 통해 의료 용어만 추출..
2023.06.27 15:31 -
[KT AIVLE(에이블 스쿨) 3기] 16~17주차 : 미니 프로젝트 7차
[16~17주차] 미니 프로젝트 7차 드디어 마지막 미니 프로젝트! 이번 미니 프로젝트는 그동안 진행 해왔던 미니 프로젝트 중 가장 긴 기간동안 진행된다 다음 날에 있는 AIVLE day 2차를 마치면 이제 진짜 진짜 프로젝트의 시작이라고 할 수 있는 대망의 빅 프로젝트가 시작된다. 미니 프로젝트 7차 팀 구성이 그대로 빅 프로젝트 팀으로 진행된다. 미니 프로젝트 마지막 날이 빅 프로젝트 제안서 제출 마감일이라 7차를 진행하면서 아이디어를 생각해야했다. 미니 프로젝트 7차 주제 : ChatGPT를 수어로 사용하는 웹 서비스 데모 구현 미니 프로젝트 7차 진행 일정: 1~2일차 : 수어 번역 AI 모델링 3~4일차: 클라우드 환경 구축 및 ChatGPT API 활용 5~6일차: 웹 서비스 데모 구현 7일차..
2023.05.30 20:49 -
[KT AIVLE(에이블 스쿨) 3기] 15~16주차 : Django활용 Web APP
[15~16주차] Django Web APP 개발 장고 시작! Django 개발 환경 Setting # 설치 가능한 파이썬 버전 목록 확인 $ conda search python # 새로운 파이썬 버전 설치 $ conda install python=3.10.11 # myenv 이름으로 새로운 파이썬 가상환경 생성 $ conda create -n myenv python=3.10.11 # myenv 파이썬 가상환경 사용 $ conda activate myenv # 파이썬 가상환경 종료 $ conda deactivate # 등록된 가상환경 목록 출력 # myenv 파이썬 가상환경 사용 $ conda activate myenv # pip 최신 버전으로 업데이트 $ pip install —-upgrade pip ..
2023.05.30 20:49
알고리즘
-
[프로그래머스] 삼각 달팽이 (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): arr = [[0] * n for i in range(n)] x,y=-1,0 a=1 for i in range(n): for j in range(i,n): if i % 3 == 0: x+=1 elif i % 3 == 1: y+=1 elif i % 3 ==2: x-=1 y-=1 arr[x][y] = a a +=1 answer=[] for i in arr: for j i..
-
[백준] 1463번 : 1로 만들기 (Python)
https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net X= int(input()) dp = [0] * (X+1) for i in range(2,X+1): dp[i] = dp[i-1] + 1 if i % 2 == 0: dp[i] = min(dp[i], dp[i//2]+1) if i % 3 == 0: dp[i] = min(dp[i], dp[i//3] + 1) print(dp[X])
-
[백준] 19941번 : 햄버거 분배 (Python)
https://www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사 www.acmicpc.net 💡 문제 접근 최대한 왼쪽에 있는 햄버거를 우선적으로 먹어야함 햄버거 먹으면 다른 문자로 바꿔주기 💡 내 코드 # 햄버거 분배 n,k = map(int,input().split()) hp =list(input()) cnt=0 for i in range(n): for j in range(i-k,i+k+1): # 거리 안에 있는 햄버거 찾기 if hp[i]=='P': # 현재 위치가 사람일때 if ..
-
[백준] 20115번 : 에너지 드링크 (Python)
https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 💡 내 코드 n = int(input()) k = list(map(int,input().split())) k = sorted(k, reverse=True) cnt = k[0] for i in range(1,n): cnt += (k[i]/2) print(str(cnt).rstrip('0').rstrip('.')) 💡 주의 소수점 불필요한 0 없애기