전체 글

Deep Learning

[트랜스포머를 활용한 자연어처리] - Intro

본 포스팅은 아마존 자연어 처리 분야 베스트 셀러인 [트랜스포머를 활용한 자연어처리]를 기반으로 스터디를 진행하며 매 챕터마다 공부한 내용을 복습하기 위해 작성한다. 이 책의 구성을 하나로 정리하자면 다음과 같다. 이 책은 최근 대세인 허깅 페이스(Hugging Face) 라이브러리를 활용하여 다양한 NLP 작업을 해결하는 방법을 소개한다. 허깅 페이스의 머신러닝 엔지니어들이 직접 쓴 책으로도 유명하고 의 저자 오렐리앙 제롱이 직접 추천사를 쓰고 크게 칭찬한 책이라고 한다. 자연어처리에 대해 아직 심도있는 학습이 부족한 상태라 이 책을 통해 자연어처리에 대한 견문을 많이 넓힐 것으로 기대한다. Reference http://www.yes24.com/Product/Goods/115633781 트랜스포머를 ..

Algorithm/이코테

[이코테] 게임 개발 - Python 풀이

문제 현민이는 게임 캐릭터가 맵 안에서 움직이는 시스템을 개발 중이다. 캐릭터가 있는 장소는 1 X 1 크기의 정사각형으로 이뤄진 N X M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각 칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 개수, B는 서쪽으로부터 떨어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해 놓은 매뉴얼은 이러하다. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 횐전한 다음 왼쪽..

Algorithm/이코테

[이코테] 왕실의 나이트 - Python 풀이

- 문제 입력 조건 • 첫째 줄에8 X 8 좌표 평면상에서 현재 나이트가 위치한 곳의 좌표를 나타내는 두 문자로 구성된 문자열이 입력된다. 입력 문자는 a1 처럼 열과 행으로 이뤄진다. 출력 조건 • 첫째 줄에 나이트가 이동할 수 있는 경우의 수를 출력하시오. 입력 예시 a1 출력 예시 2 처음 짠 코드 state = input() state = list(state) steps = [(-1,-2),(-2,-1),(-2,1),(-1,2),(1,-2),(2,-1),(2,1),(1,2)] count =0 x = int(state[1]) y = int(ord(state[0])-ord('a')+1) for step in steps: xs = x + step[0] ys = y + step[1] if xs>=1 an..

Algorithm/이코테

[이코테] 시각 - Python 풀이

- 문제 정수 N이 입력되면 00시 ()()분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포 함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. 예를 들어 1을 입력했을 때 다음은 3이 하 나라도 포함되어 있으므로 세어야 하는 시각이다. • 00시 00분 03초 • 00시 13분 30초 반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안 되는 시각이다. • 00시 02분 55초 • 01시27분45초 입력 예시 5 출력 예시 11475 처음 짠 코드 n = int(input()) count = 0 for i in range(n+1): for j in range(60): for k in range(60): str_list = list(str(i)+str(j)+str(k))..

Algorithm/이코테

[이코테] 숫자 카드 게임 - Python 풀이

문제 숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 1. 숫자가 쓰인 카드들이 NxM 형태로 놓여있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 2. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 3. 그 다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 4. 따라서 처음에 카드를 골라낼 행을 선택할 때. 이후에 해당행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 예를 들어 3 X 3 형태로 카드들이 다음과 같이 놓여 있다고 가정하자. 여기서 카드를 골라낼 ..

Algorithm/이코테

[이코테] 큰 수의 법칙 - Python 풀이

- 문제 '큰 수의 법칙'은 일반적으로 통계 분야에서 다루어지는 내용이지만 동빈이는 본인만의 방식으로 다 르게 사용하고 있다. 동빈이의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속 해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어 순서대로 2, 4, 5, 4, 6으로 이루어진 배열이 있을 때 M이 8이고 K가 3이라고 가정하자. 이 경우 특정한 인덱스의 수가 연속해서 세 번까지만 더해질 수 있으므로 큰 수의 법칙에 따른 결과 는 6 + 6 + 6 + 5 + 6 + 6 + 6 +5인 46이 된다. 단, 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른..

Project

빅콘테스트 데이터분석분야 퓨처스부문 참가 후기

지난 9월 교내 데이터분석 학회에서 만난 3명의 학우들과 함께 빅콘테스트 데이터분석분야 퓨처스부문에 참가했다. 결론적으로 말하면 우리는 수상하지 못했다. 그럼에도 나는 빅콘을 위해 쏟아부었던 한두 달가량의 시간을 절대 후회하지 않는다. 내적으로든 외적으로는 정말 많은 것을 얻는 공모전이었기 때문이다. 사실 이 후기를 수상작들이 발표되고 난 후 우리의 탈락 원인을 분석하는 느낌으로 작성하려고 미뤄뒀었는데, 그러다 점점 까먹을 것 같아서 일단 작성한다. 추후에 수상작들이 공개되면 자세한 탈락원인 분석을 추가할 예정이다. 빅콘테스트는 국내 최대 규모의 데이터 분석 경연대회이다. 또한 굉장히 다양한 기업들이 참여하고 참가자들의 수준이나 데이터의 퀄리티 또한 높다. 그렇기에 머신러닝을 제대로 공부한 지도 얼마 안..

Deep Learning

[딥러닝을 이용한 자연어처리] Basic ML : 지도학습 - Questions

조경현 교수님의 부스트코스 딥러닝을 이용한 자연어처리 강의를 들으며 Questions 부분에 대해 다시 한 번 정리해보았다. 꽤 얻어갈 것들이 많은 챕터인 것 같다. 1. 모델 아키텍쳐의 결정 방법 이론은 존재하나요? 어떻게 결정해야 할까요? theoroctical하게 봤을 때, 우리가 개런티를 알고 있는 경우가 별로 없다. 심지어 distribution이 명확히 주어졌다고 해도 어떤 아키텍쳐가 가장 Optimal 한지는 모른다. geometry를 보면서 하는 방법 등 approximate 할 방법이 조금은 있지만 실전에 활용한 만큼의 theory가 아직 없다. 만약 input이 NN 아키텍처로 output이 아키텍처의 성능이면 supurvised 위에 supervised learning을 할 수 있지 ..

seungseop
꾸준한 성장일기