모두를 위한 기계번역 (박찬준)
○ 개요
2014년 본격적으로 NMT에 대한 연구가 진행되었으며 현재는 Transformer 기반의 다양한 NMT 시스템들이 연구되고 있습니다.
더 나아가 최근 NLP에서 가장 뜨거운 연구분야인 Language Representation 분야에서도 Transformer를 기반으로 한 BERT, GPT-2, XLNET 등의 모델이 개발되고 있습니다.
본 테크톡에서는 먼저 RBMT와 SMT에 대해서 간략하게 살펴보고 RNN기반 NMT 부터 Transformer를 기반으로 하는 NMT까지 자세히 살펴볼 예정입니다.
더 나아가 최근 WMT에서 매년 Shared Task로 열리고 있는 Automatic Post Editing System과 Parallel Corpus Filtering, Quality Estimation 분야에 대해서 설명하며 NMT를 이용한 다양한 응용 연구분야를 소개해드리겠습니다. (ex. 실시간 강연통역 시스템, 문법교정 시스템) , 기계번역에 대해서 아무것도 모르시는 분, 궁금하시분들도 이해할 수 있는 수준으로 쉽게 설명을 진행할 예정입니다.
○ 목차
1)기계번역이란
2)RBMT에 대한 간략한 소개
3)SMT에 대한 간략한 소개
4)RNN기반 딥러닝부터 Transformer까지
5)NMT를 이용한 다양한 응용 연구 소개
a. Automatic Post Editing
b. Quality Estimation
c. Parallel Corpus Filtering
d. Grammar Error Correction
e. 실시간 강연통역 시스템
6)OpenNMT 소개
@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
http://www.ubuntu-kr.org/viewtopic.php?f=2&t=16175
내 용
발표 1 우분투로 슈퍼컴 만들기 = 김성윤
발표 2 geogebra (수학 그래프+도형 툴) = 미남imsu(구임수)
자기 소개 및 자유 이야기
발표 3 : 우분투에서 임베디드 리눅스 개발 환경 구축하기 = 뻔뻔강사(유명환)
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee
2011 CodeEngn Conference 05
안드로이드 리눅스 상에서 bof 공격을 해본다. 임의로 제작한 취약한 어플리케이션을 대상으로 공격코드를 작성하여 쉘을 획득하는 과정을 보여주며설명한다. x86 환경에서와 ARM 환경에서의 공격코드 작성시 차이점에 대해 설명한다.
http://codeengn.com/conference/05
모두를 위한 기계번역 (박찬준)
○ 개요
2014년 본격적으로 NMT에 대한 연구가 진행되었으며 현재는 Transformer 기반의 다양한 NMT 시스템들이 연구되고 있습니다.
더 나아가 최근 NLP에서 가장 뜨거운 연구분야인 Language Representation 분야에서도 Transformer를 기반으로 한 BERT, GPT-2, XLNET 등의 모델이 개발되고 있습니다.
본 테크톡에서는 먼저 RBMT와 SMT에 대해서 간략하게 살펴보고 RNN기반 NMT 부터 Transformer를 기반으로 하는 NMT까지 자세히 살펴볼 예정입니다.
더 나아가 최근 WMT에서 매년 Shared Task로 열리고 있는 Automatic Post Editing System과 Parallel Corpus Filtering, Quality Estimation 분야에 대해서 설명하며 NMT를 이용한 다양한 응용 연구분야를 소개해드리겠습니다. (ex. 실시간 강연통역 시스템, 문법교정 시스템) , 기계번역에 대해서 아무것도 모르시는 분, 궁금하시분들도 이해할 수 있는 수준으로 쉽게 설명을 진행할 예정입니다.
○ 목차
1)기계번역이란
2)RBMT에 대한 간략한 소개
3)SMT에 대한 간략한 소개
4)RNN기반 딥러닝부터 Transformer까지
5)NMT를 이용한 다양한 응용 연구 소개
a. Automatic Post Editing
b. Quality Estimation
c. Parallel Corpus Filtering
d. Grammar Error Correction
e. 실시간 강연통역 시스템
6)OpenNMT 소개
@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
http://www.ubuntu-kr.org/viewtopic.php?f=2&t=16175
내 용
발표 1 우분투로 슈퍼컴 만들기 = 김성윤
발표 2 geogebra (수학 그래프+도형 툴) = 미남imsu(구임수)
자기 소개 및 자유 이야기
발표 3 : 우분투에서 임베디드 리눅스 개발 환경 구축하기 = 뻔뻔강사(유명환)
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee
2011 CodeEngn Conference 05
안드로이드 리눅스 상에서 bof 공격을 해본다. 임의로 제작한 취약한 어플리케이션을 대상으로 공격코드를 작성하여 쉘을 획득하는 과정을 보여주며설명한다. x86 환경에서와 ARM 환경에서의 공격코드 작성시 차이점에 대해 설명한다.
http://codeengn.com/conference/05
1. 컴퓨터의 명령어란
명령어
명령어(Instruction)의 정의
● 컴퓨터가 하드웨어에게 일을 시키기위한 수단
● 명령어는 위에서 아래로 흐르는 하향식 접근구조
● 다음 명령어를 가르키(저장하는)는 레지스터(Instruction Pointer)에 따라서 명령어를 실행함
Instruction Pointer
● 현재 실행되고 있는 프로그램의 실행코드가 저장된 메모리의 주소를 가르키는 상태 레지스터.
○ 현재 실행되는 명령어가 실행 될때, 다음 올 명령어의 주소 값이 저장되어 있어, 지금 실행되는 명령어의 실행이 끝나면,
Instruction Pointer 에 따라서 다음 올 명령어가 실행과정이 옮겨진다.
● 프로그램의 실행이 진행됨에 따라 자동으로 증가함.
● 프로그램의 실행 순서가 변경되는 제어문이 실행될 때 자동으로 변경됨.
● 직접 접근이 불가한 레지스터
○ 프로그램이 설계자의 의도 대로 작동하게 하기 위해서 임의 변경이 불가능 하다.
2. 명령어 집합구조(Instruction Set Architecture)
● 프로세서가 인식해서 기능을 이해하고 실행할 수 있는 기계어.
● 명령어 집합구조는 1대1 대응되는 어셈블리로 표현 가능함. 기계어를 어셈블리어로 번역이 가능함
● 명령어 집합구조에는 MIPS(32b), ARM, x86, RISC-V 등이 있음
명령어 집합구조(ISA) 설계
● 명령어 집합 구조는 작성된 프로그램과 그 프로그램을 수행할 컴퓨터 하드웨어 사이의 인터페이스에 대한 완전한 정의 혹은
명세
● 하드웨어 기술이나 컴퓨터의 구성, 플랫폼이 될 운영체제 등을 고려해야 하는 매우 어려운 작업
명령어 집합구조(ISA) 설계 세부 정의
● 연산의 종류: 처리연산, 제어연산, 입출력연산 등
● 데이터 형식 (Data Type): 데이터의 의미, 데이터 값 저장방식(정수, 실수, 논리) 등
● 명령어 형식 (Instruction Type): 명령어 구성부분을 나타내는 양식
● 피연산자를 위한 주소지정방식 (Addressing Mode): 피연산자의 위치를 명시하는 방법, 메모리 or 레지스터
명령어의 구조
● 명령어는 크게 두 부분, 실행코드(opcode)와 피연산자(operand) 부분으로 구성됨
3. 산술연산
산술연상의 정의
● 산술 연산은 덧셈, 뺄셈, 곱셈, 나눗셈 사칙연산의 계산을 하는것
● 컴퓨터는 레지스터와 ALU를 통해 산술연산을 수행한다.
MIPS 산술명령어
● MIPS 산술연산자는 반드시 한종류의 연산만 지시
● MIPS 산술명령어는 항상 변수 세개를 갖는 형식
● 피연산자가 반드시 3개인 이유
1. 간단하게 설계(간단하지만 최적화된 명력어 실행구조) 하기 위해서, 규칙적인 것이 좋다.
● MIPS 산술 명령어를 통해 b,c,d,e의 합을 a에 넣는 경우
1. add a,b,c : b와 c 를 더해 a 에 저장
2. add a,a,d : a와 d 를 더해 a 에 저장
3. add a,a,e : a와 e 를 더해 a 에 저장
MIPS 레지스터
● 산술 논리 제어 등의 연산을 위하여, MIPS 명령어 구조에서 제공하는 레지스터
● 레지스터는 컴퓨터가 사용하는 변수라고 이해하면 편하다.
4. 스택프레임
● 함수가 실행될때 마다 함수 자신만이 사용가능한 고유한 메모리 stack 영역이다.
● 함수의 스택프레임 시작점은 fp가 가르킨다.
● 함수의 종료시에 해제되고 리턴 주소로 복귀 한다.
add 가 실행되면 add의 스택 프레임이 생성된다.
int add(int a, int b){
return a+b;
}
int main(){
printf("%d",add(3,4));
printf("hello World!n");
return 0;
}