공유되는 특징값에 태스크 별 특수 특징값이 포함되지 않게 하기 위해 adversarial multi-task 학습법을 제안한다.
또한, 이제까지 adversarial 훈련은 이분법으로 진행되었으나 본 논문에서는 multi-class로 진행했다.
이렇게 구별한 공유 파라미터가 새로운 task에 전이 가능한지 알기 위한 추가 실험도 진행했다.
problems
많은 multi-task 모델들은 공유 특징값, 태스크별 특수 특징값 두 가지를 갖는데 공유 특징값은 사실 각 태스크를 위해서는 사용하지 않는 것이 나은 경우가 많다.
e.g. The infantile cart is simple and easy to use. This kind of humour is infantile and boring. 이라는 리뷰가 있을 경우 infantile(어린애 같은, 유치한)이라는 단어는 영화 리뷰에서는 부정적이지만 아기 용품 리뷰에서는 일반적으로 사용되는 단어이다.
즉, 공유 파라미터는 태스크 특정 파라미터를 포함하지 않아야 multi-task가 더 잘 될 것이다.
model
특징값 추출기로 LSTM을 사용한다.
공유 특징값만을 추출하기 위한 은닉 추출기(LSTM)을 태스크와 관계 없이 모델 속에 하나 설치하고(SP-MTL)
adversarial 오차값을 계산해 모든 태스크의 로스에 더한다(ASP-MTL).
여기서 나타날 수 있는 문제점:
공유 특징값이 은닉 추출기와 태스크 추출기에 동시에 출현할 수 있다는 것.
이는 쓸모 없는 잠재 표현엔 패널티를 주는 것으로 두 추출기가 서로 다른 특징값을 갖게 하는 orthogonality constraint(Ldiff)로 해결한다.
Adversarial Network
최근, 생성 모델에서 잘 쓰이는 수법인데 대표적으로 GAN을 예로 들 수 있다.
처음부터 존재하던 데이터와 모델이 생성한 데이터를 다른 모델이 구별하게 하고(discriminator) 생성 모델은 discriminator를 속이기 위해 더 그럴듯한 이미지를 생성하기 때문에 둘의 경쟁으로 인해 최종적으로 좋은 결과물을 만든다는 것이다; min(G)max(D)(E_x~P_data[log D(x)] + E_x~p(z)[log(1 - D(G(x)))]).
about this paper
Authors: Pengfei Liu, Xipeng Qiu, Xuanjing Huang Link: https://www.aclweb.org/anthology/P17-1001.pdf
problems
많은 multi-task 모델들은 공유 특징값, 태스크별 특수 특징값 두 가지를 갖는데 공유 특징값은 사실 각 태스크를 위해서는 사용하지 않는 것이 나은 경우가 많다.
즉, 공유 파라미터는 태스크 특정 파라미터를 포함하지 않아야 multi-task가 더 잘 될 것이다.
model
Adversarial Network
Adversarial loss
모든 태스크의 오차값에 더하는 것은 Discriminator의 오차를 계산하는 L_Adv과 은닉 추출기와 태스크 별 추출기가 서로 다른 특징값을 갖게 하기 위한 L_Diff이다; L = L_Task + λL_Adv + γL_Diff
L_Adv
L_diff
데이터셋
각기 다른 도메인에서 가져 온 Amazon의 제품 리뷰와 IMDB의 영화 리뷰, MR의 영화 리뷰를 사용.
결과
추출 특징값 비교
code
None