개발

개발/Tensorflow

Transfer learning

Transfer learning는 한글로 전이학습입니다. 많은 논문에 실린 모델들이 나오면서 사람들은 사용해보고 싶었지만, 바로 사용하기 힘들었습니다. 단어를 벡터로 옮기는 작업에 대해 필요한 시간적 비용과 자원이 굉장히 많이 필요했기 때문이였습니다. 이런 문제를 갖고 사람들은 Transfer learning을 사용하기 시작했습니다. Transfer learning은 대량의 텍스트로 언어모델을 한번 학습하게 됩니다. 이를 pre-trained 된 모델이라고 부르며, 사람들은 이 pre-trained된 모델을 갖고 자신이 원하는 방향으로 추가 학습을해서 문제를 해결합니다. 이를 fine-tuning 이라고 부릅니다. 이 부분은 NLP 뿐만 아니라 Image processing에도 쓰이고 다방면에서 사용되는..

개발/NLP

Transformer

우리가 사용하는 자연어를 컴퓨터가 알아듣게 하려면 word embedding이라는 작업이 필요합니다. word embedding에는 여러가지 시도가 있어왔고 2017년부터 Transformer라는 방법을 기반으로 하고있습니다. Transformer Transformer에 대해 간단하게 설명하겠습니다. 기존에 많이 사용되던 Word2Vec과의 차이점은 output으로 나오는 벡터값이 단어냐 문장이냐 입니다. Word2Vec은 단어에 대한 벡터값이 나오고 Transformer는 문장에 대한 벡터값이 나오게됩니다. 그렇기때문에 Transformer는 문장 맥락에 대한 이해가 가능합니다. 하지만 속도가 느리다는 단점이 존재합니다. 이미지 출처: https://wikidocs.net/31379 Transforme..

개발/Docker

도커 이미지 업로드

docker hub에 도커 이미지를 업로드 해보겠습니다. 지난 시간에 사용한 nginx를 제 도커 허브 계정에 푸쉬 해보겠습니다. 1. 이미지 태그 생성 docker tag [기존이미지 이름]:버전 USERNAME/새로운 이미지이름:버전 docker tag nginx:latest hojihun5516/nginx:1 2. 이미지 확인 docker images 3. Docker hub 로그인 우리가 올릴 도커 허브의 계정 정보를 컴퓨터에 저장시킵니다. docker login 4. Image Push docker push [USERNAME]/[IMAGE NAME] docker push hojihun5516/nginx

개발/Docker

도커 기본 명령어 정리

도커에서 사용되는 간단한 명령어들을 nginx를 사용하여 정리 해보겠습니다. 도커 이미지 실행 nginx의 이미지를 따로 다운받지 않았으면 도커는 docker.io/nginx:latest 에서 이미지를 다운받습니다. -d 옵션은 백그라운드 실행입니다. docker run -d nginx 컨테이너 조회 현재 실행되고 있는 컨테이너를 보여줍니다. CONTAINER_ID는 다를 수 있습니다. docker ps 컨테이너 상세 정보 컨테이너의 네트워크, 볼륨 상태등 자세한 정보를 보여줍니다. docker inspect CONTAINER_ID # 저의 경우 # docker inspect 6edc56f8103a 컨테이너 로깅 조회 # 기본 조회 docker logs CONTAINER ID # follow log ou..

개발/Docker

Ubuntu 20.04 도커 설치

Ubuntu 20.04 Docker install docker.io 패키지 사용 sudo apt update && sudo apt install -y docker.io net-tools sudo usermod -aG docker $USER # restart server sudo reboot Ubuntu 20.04 Docker-Compose install sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose #check do..

개발/Python

JSON ARRAY KEY 값 비교 정렬

문제: 총 8번의 경기를 했고 경기마다 가장 많은 골을 넣은 사람의 이름과 골을 한개의 객체로 배열에 값을 저장했다. 이때 중복되는 선수 이름은 제거하고 선수의 이름과 가장 높은 골의 수만 남기십시오 (오름차순 정렬). player_goal = [ {"name":"철수","goal":3},{"name":"민수","goal":5},{"name":"철수","goal":2}, {"name":"지훈","goal":7},{"name":"민수","goal":2},{"name":"민호","goal":1}, {"name":"지훈","goal":11},{"name":"민수","goal":3} ] result = [] for pg in player_goal: check = 0 for i in result: if i['na..

개발/NLP

TF-IDF

1. DTM (Document-Term Matrix) 각 문서에 대한 BoW 표현 방법을 그대로 갖고와서, 서로 다른 문서들의 BoW들을 결합한 표현 방법인 문서 단어 행렬입니다. 2. TF (Term Frequency) 특정 문서에서의 특정 단어 t의 등장 횟수입니다. 3. DF (Documet Frequency) 전체 문서에서 해당 단어가 포함된 문서가 몇번 나왔는지를 체크합니다. 해당 단어가 나타난 문서의 수/ 전체 문서의 수 4. IDF (Inverse Document Frequency) DF에 역수를 취해주는 작업입니다. 값에 로그를 취해 수가 많이 커지는 것을 방지하고, 분모에 1을 더해 분모가 0이되는 것을 방지합니다. 공식은 아래와 같습니다. $$log(\frac{n}{1+df(x)})$$..

개발/NLP

Bag of Words

컴퓨터는 자연어를 이해하지 못하기 때문에 컴퓨터가 알 수 있게끔 해줘야 합니다. 가장 간단한 방법은 문장을 쪼개서 컴퓨터한테 인식시키는 것입니다. 문장을 쪼개서 해당하는 칼럼의 값에 카운트를 올려주는 방식입니다. 즉 문장 속 단어의 빈도수를 체크해줍니다. BoW 단점: 단어의 빈도수만 체크하기 때문에 문장의 의미를 제대로 이해하기 힘들다. ex_ "좋다가 말았네" 문장의 재구성이 불가능하다 Bow를 만드는 방법 "오늘도 나는 축구를 한다 나는 축구를 좋아해" "지금 축구를 하고 싶어" 라는 문장들이 있을 때 이 문장을 컴퓨터가 이해하게끔 간단한 방법을 사용해 보겠습니다. 1. 띄어쓰기 단위 단점: 좋아해, 좋아함, 좋아 등을 구분 못해서 사용자 사전이 엄청 커집니다. 오늘도 나는 축구를 한다 좋아해 지금..

모플로
'개발' 카테고리의 글 목록 (3 Page)