히히

(진행중)Transformer : Attention Is All You Need 리뷰
논문 : arxiv.org/pdf/1706.03762v5.pdf 코드 : https://tutorials.pytorch.kr/beginner/transformer_tutorial.html Attention Is All You Need NLP : (RNN -> (LSTM) -> seq2seq -> attention -> transformer) Abstract 지배적인 순서 전래 모델은 복잡한 반복이나 인코더와 디코더를 포함하는 CNN에 기반을 둔다. 최고의 수행 모델은 또한 어텐션 방법을 통해 인코더와 디코더에 연결한다. 2 Background 순차계산을 줄이는 목표는 또한 Extended Neural GPU, ByteNet, ConvS2S의 기초를 형성하는데 이들은 빌딩블록에 기초를 둔 convoluti..
백준 12865번 : 평범한 배낭 (Python)
문제 : www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당..
백준 2606번 : 바이러스 (Python)
문제 : www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이 큐를 이용하여 해결하였다. com 리스트에 입력받은 쌍을 인덱스별로 넣는다. 이미 확인된 컴퓨터는 거치지 않도록 확인한 컴퓨터는 visited 리스트에 넣어준다. que를 pop하고 확인된 컴퓨터인지 확인한다. 확인되지 않은 컴퓨터라면 visited에 해당 컴퓨터를 추가하고 결과값+1을 해준다. 그리고 큐에 해당 컴퓨터인덱스 리스트에 들어있는 연결 컴퓨터들을 모두 추가해준다. 입력받은 쌍을 넣을 때 양..
백준 1463번 : 1로 만들기
문제 : www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제입력 예제출력 2 1 10 3 풀이 나누는 것을 먼저하면 빨리 1에 도달하는 ..
백준 1931번 : 회의실 배정 (Python)
문제 : www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 풀이 처음에는 시작점을 생각하며 어떻게 껴 넣어야 할지 헤멨다. 메인 아이디어는 끝나는 시점이 빨라야 다음 회의가 들어올 수 있으므로 많은 회의가 가능한 것이다. 따라서 종료 시점을 기준으로 코드를 구성해야 한다. meet 리스트에 입력을 받을때 '종료 시간의 인덱스'에 '시작 시간을 원소'로 넣었다. (meet[종료시간].append(시작시간)) 리스트의 길이는 시간을 입력받을때마다 추가해주었다. meet를 하나씩 돌며 시작 시간이 있는지(입력받은 회의가 있는지) 확인한다. 있다면 (len != 0 이라면) 이전에 ..
백준 13305번 : 주유소 (Python)
문제 : www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 풀이 한칸씩 이동하며 현재 가장 작은 기름값으로 바로 다음 도로를 지나도록 한다. minoil에 현재 최소 기름값을 넣고 한칸 옮겼을때의 기름값이 더 작으면 minoil을 바꿔서, 더 크면 그대로 두고 바로 다음 길의 길이를 곱하여 결과값에 더한다. 사실상 마지막 주유소는 필요가 없으므로 N-1번만 루프를 돈다. N = int(input()) road = list(map(int,input..

NN/DNN/CNN/RNN - 간단 개념과 사용 용어
신경망의 업그레이드(?) 순서 : NN -> MLP -> DNN ->CNN,RNN NN (Neural network) (ANN) NN은 인공 신경망의 의미를 가지고 있다. 이는 사람의 뉴런을 묘사하여 만든 알고리즘으로 딥러닝의 기초가 된다. 이론적으로는 일정 임계값을 넘으면 값을 전달하는 구조로 되어있다. 기본 모양은 다음과 같다. input 과 output 사이에 은닉층(hidden layer, 히든레이어)의 구조를 가지고 있다. 히든 레이어를 통과하며 활성화 함수를 통해 weight와 bias값을 찾아 예측을 하는 방법이다. Perceptron (퍼셉트론) NN에서 히든 레이어가 하나인 신경망 구조이다. 이 구조는 AND와 OR의 문제만 풀 수 있고 XOR의 문제를 해결할 수 없다. MLP (Mult..
[Pandas] 데이터 분석 용 함수 모음
컬럼별로 데이터 확인 그룹별로 데이터 집계하기 df.groupby() 그룹별로 개수세기 pd.Series.value_counts() 유니크한 값 구하기 pd.Series.unique() 행에 접근 df.itertuples() 이상 데이터 처리 결측 데이터 찾기 df.isnull() / df.isnull().sum() 결측 데이터를 포함한 행 삭제 df.dropna() 중복 데이터 찾기 df.duplicated() / df.duplicated().sum() 중복 데이터를 포함한 행 삭제 df.drop_duplicates() 직접 데이터 처리 행 삭제 df.drop(['index명']) (조건으로 하고싶다면 ['index명']에 : df.loc[df.column명 == 1].index ) 데이터 범위 나누기..
[Numpy] 계산
import numpy as np np.dot() 행렬 곱. 주로 1차원 배열에서 사용한다. np.matmul() 행렬 곱 np.sum(axis = ) 행렬 덧셈 np.multiply() 곱셈 np.sqrt() 루트 np.square() 제곱 np.log() 요소 단위로 자연 로그 반환 np.abs() 절대값
(진행중)DETR : End-to-End Object Detection with Transformers 리뷰
논문 : arxiv.org/pdf/2005.12872v3.pdf End-to-End Object Detection with Transformers 2020 5월에 페이스북 리서치팀에서 발표한 object detection 논문이다. Abstract. 직접 디자인하는 요소를 없앴다. 예를 들어 복잡한 인코딩이나 사전 지식을 겸해야 하는 non-maximum suppression, anchor generation 등을 말이다. 메인은 DETR : DEtection TRansformer이다. 전역 loss를 기반으로 이분 매칭을 통해 고유 예측값을 강제한다. 그리고 인코더, 디코더 결과를 transform 한다. 예측 값은 병렬로 출력한다. 이는 개체의 관계와 전역 이미지 간으로 표현된다. 1. Introdu..