본문 바로가기

코딩공부

(15)
XLNet: Generalized Autoregressive Pretraining for Language Understanding (초월 번역) Abstract BERT처럼 pre-trained 베스로 한 노이즈 없애는 오토인코딩(auto-encoding)은 오토리그레시브(auto-regressive) 언어모델 베이스 방법보다 더 성능이 좋음. 그런데 BERT가 학습 할때 mask에 의존적이자나? 그때 학습한 mask위치 하고 파인튜닝(fine tune)할때 mask 위치 하고 차이가 무조건 있는데 BERT는 그딴거 무시하고 파인튜닝함. 그니깐 기본적으로 오토리그레시브보다 오토인코딩이 성능이 좋은데 mask 위치에 의존적이라 파인튜닝 할때 모순이 발생한다는 단점이 있단말. 이런 장단점을 고려해서 좋은건 넣고 안좋은건 보완해서 XLNet이라는 오토리그레시브 기반 모델 만듬. 문맥을 단어의 모든 순서 조합으로 읽어 likelihood를 최대화하는 방..
백 트래킹 이란? 이번에야 말로 백 트래킹 끝내자(유형 정리, 분석) 백 트래킹 이란? 자신의 선택에 따라서 게임의 엔딩이 여러개 있는 "멀티 엔딩" 장르의 게임이 있다. 가장 큰 예시로 미연시 게임 대부분이 선택에 의해서 게임이 진행 된다. 이때 선택에 따라 다음 선택지가 달라지며 마지막 엔딩까지 선택에 따라 달라지는 것이다. 이런 경우 가장 좋은 엔딩을 어떻게 찾을까? 이때 사용되는 알고리즘이 "백 트래킹"이다. 일단 선택을 쭉 하고 좋지않거나 성립되지 않는 경우 다시 백 해서 다른 선택을 하여 모든 경우의 엔딩을 찾는 것이다. "선택의 DFS" 라고도 할 수 있다. 어떻게 구현 하는가? "선택의 DFS" 라고 표현 했듯이 백 트래킹은 재귀함수를 이용해서 구현 한다. 기본적인 구현 틀은 아래와 같다. 이때 parameter를 어떻게 하는지, 어느 조건에서 재귀를 멈추는..
[백준 2580] 스도쿠 (파이썬) 문제 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 풀이 # 83% 시간초과 # pypy 통과 import sys input = sys.stdin.readline from collections import deque graph = [list(map(int, input().split())) for _ in range(9)] blanks = deque() for row in range(9): for col in range(9): if graph[..
합승 택시 요금 _ 카카오 코딩 테스트 (파이썬, 최단거리, 프로그래머스) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import sys input = sys.stdin.readline INF = int(1e9) def solution(n, s, a, b, fares): graph = [[INF]*(n) for _ in range(n)] for n1, n2, w in fares: graph[n1-1][n2-1] = w graph[n2-1][n1-1] = w for i in range(n): for j ..
[백준 1753번] 최단경로 (feat. 파이썬) 문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 풀이 import sys input = sys.stdin.readline from heapq import heappop, heappush INF = int(1e9) V, E = map(int, input().split()) start = int(input()) graph = [[] for _ in range(V+1)] for _ in range(E): n..