Just beat IT

情報系学生が技術的なことから昨日の夕飯のことまで

【修論やばい】修論ゴミすぎるんだが大丈夫なのか??【提出1週間前】

はじめに

どうも!大学院二回生で,修論提出を控えるロピタルです(;_:)

今回は,修論提出を控える自分の気持ちを素直に書き連ねようと思います…

もくじ

修論って?

f:id:lhopital:20210201020622j:plain

大学を卒業するのに,卒論といわれるものが必要なのは有名かと思います.その,大学院修士課程バージョンが”修論”ってやつです.卒論に比べて修論は,審査が厳しいとされています.まあ,卒論を書いて大学院に上がった人たちの書くものなので当然ですが…

修論は,指導教員(主査)のみでなく副査の教授が認めなければ修了が認められません.つまり,どれだけ緩い先生が指導教員だとしても,簡単に修了できるわけでは無いんです"(-""-)"

現状

研究室の環境は?

修論の提出は間に合いそうです.なぜなら,指導教員がものすごく緩い先生だからです.

しかし,指導教員は僕の研究をほとんど理解していません( 一一)いわゆる「放置系」といわれる研究室です…

修論の添削もしてもらえるのですが,見られるのは体裁のみで内容についてツッコまれることはありません.つまり,研究内容については完全に自己責任なんです(-_-;)

研究の進捗は?

自分でやりたい事を見つけ,実装,実験,評価,考察を行いました.あとはそれを論文にまとめるだけなのですが…

修士論文を書く上で先行研究について調査をしていると,自分の研究の残念さに気づかされました.これは,稀によくあることらしいんですが,本当に自分の研究に意味があるのか自信が無くなってしまいました…

特に,僕は自分で研究テーマを決めたので,新規性や有用性の指導教員による担保もありません.もし指導教員にもらった研究テーマなら,最悪は指導教員の責任にできますが,自分の決めたことなので自分の責任が大きいのです(-"-)

これからどうするの?

提出まで時間もないので,行ったことで修論を書く以外に選択肢はありません.先述したように指導教員は僕の研究をイマイチ理解していないので,提出はできそうです.

が,提出すれば修了できるわけではなく,提出のさらに一週間後に「修論発表会」なるものが開かれます.ここでは,研究科の教授が集まり,修了予定の学生が自身の修論についてプレゼンし,教授と議論を行います.

f:id:lhopital:20210201020649j:plain

ここで修論を認めてもらうことができれば,無事に修了が確定します.

ここが耐え凌げるか,日々不安を感じています(;_:)

修了できなかったら?

修了が認められないと,いろいろと面倒が起きます…

就職できない(たぶん)

僕はM2なので,数か月前まで就職活動を行っていました.

lhopital.hatenablog.com

しかし,就職活動で得た内定は「修了見込み」の学生としての内定です.

つまり,「修了」できなければ,内定を切られる可能性が高いということです.

そうなると,就職活動を一からやり直さないといけなくなります…

留年か退学か

修了できなかったということは,二年間通ったのも空しく「修士」の肩書を得ることはできません.

そこで,「あと一年通って修了を目指す」か,「退学して大卒として就活する」の二択になります.この選択も難しいところではありますが,今のところは何も考えていません( 一一)

修了できるか

僕自身,修了できるか日々不安を抱えています.同じような境遇の人は数多くおられ,Google検索で「修論」と打ち込むと,予測が面白いことになってます(笑)

発表を耐えきれば修了できるので,そこが僕の人生の分かれ道です…

とりあえず,修論を提出し,発表スライドの作成まで行い,あとは天命を待つことにします('ω')

まとめ

今回は,修論提出&発表を控える自分の気持ちについて書きました.

発表が終わり,結果が出ればまた更新しようと思います. 神様,ご加護を頼みます!!!!!

【あけおめ】去年に引き続き,グラニフの福袋レビュー【買ってよかった】

はじめに

あけましておめでとうございます!年末年始はテレビばっか見ているロピタルです!

今回は,去年も購入したDesign Tshirts Store graniphの福袋を購入したので,その内容についてレビューしたいと思います('ω')

昨年のレビュー記事は,こちらでご覧になれます!

lhopital.hatenablog.com

また,福袋はこちらで購入可能です~

www.graniph.com

#買って良かった2020

もくじ

レビュー

ではさっそくレビューしていきます!

商品概要

まず,福袋について簡単に説明します.

内容は,

  • Tシャツ×5枚
  • 長袖Tシャツ × 1枚
  • 冬物(セーター) × 1枚

の,計7アイテムとなっています!

そして,値段がなんと5500円!安い!!!





...,と思います.

値段や内容は去年と同じですね~.

ちなみに,外装はこんな感じです!

f:id:lhopital:20201231205404j:plain

さて,さっそく内容を見ていきましょう~( 一一)

中身

さっそく見ていきますね~.

Tシャツ

まずは,Tシャツ3枚!

f:id:lhopital:20201231205551j:plain

この三枚は色やデザイン的に着やすいかなと思います!

ラニフは面白いデザインのTシャツが多いので,開封が「くじ引き」的な楽しさもあります(笑)

僕のお気に入りは真ん中のTシャツですね~.一枚でも良いですし,ジャケットとかカーディガンのインナーにすれば面白く着こなせそうです(^^♪

次に,では残りのTシャツ二枚を見ていきましょう(*'▽')

f:id:lhopital:20201231210641j:plain

この二枚は,あまり自分で買うことのない色合いですね~.

福袋は,自分では選びにくい服が手に入るのも良いところかなと思います!!

左のTシャツはワンポイントのデザインがけっこう気に入りました(^^)/夏に着られるのが楽しみです~

長袖

では最後に,長袖Tシャツ+冬物を見ていきます!

f:id:lhopital:20201231211137j:plain

どちらも着やすいデザインですね~.

昨年入っていた冬物は何度も来ているくらいお気に入りなのですが,今年のアイテムも何度も着ることになりそうです(笑)

色合い的に,着やすいものが入っているものなのかもしれません( *´艸`)

お得なの?

5500円で7枚と考えればお得な気がするのですが,本当にお得なのでしょうか?

実は今回入っていた商品には値札がついておりまして,(おそらく)単品で販売していた場合の値段が分かりました!!

値札によりますと,

  • Tシャツ1枚2750円×5 = 13750円
  • 長袖Tシャツ1枚 = 3278円
  • セーター1枚 = 4378円

ということで,計21406円の商品が5500円で買えることが分かります!!

これは,かなりお得と言えるのではないでしょうか( 一一)

さらに,福袋にはこんなものも入っていました.

f:id:lhopital:20201231212529j:plain

三月末までオンラインストアで使えるクーポン券です!!

ラニフのサイトを見ていると,面白いデザインのTシャツを見て「欲しいな~」と思うことがあるので,活用していこうかと思います('◇')ゞ

まとめ

今回はグラニフの福袋のレビューを行いました!

お得ですし,二年連続購入するくらいには気に入っております('ω')

ぜひ,購入をご検討ください(笑)

ではノシ

【PowerShell】音声ファイル(mp3など)の名前をタイトル属性と同名に一発変換!【コマンドレット】

はじめに

どうも!そろそろ学生生活を終えようとしているロピタルです( 一一)

今回は,Powershellのコマンドレットとして音声ファイルの名前をタイトル属性を基に変更するコマンドレットを作成しました.その中で詰まった部分があったので簡単に書きますね!!

コマンドのコードはここにあるので,ぜひ使ってください('ω')

github.com

目次

経緯

音楽をスマホなので聴く際に,プレイヤによってはファイル名で表示されたりタイトル属性で表示されたりしてややこしかったりしますよね??

また,ファイル操作するときなんかに,ファイル名が曲名と異なると,どれがどの曲のファイルか分からなくなったりして面倒なんです(-_-;)

そこで,音声ファイルの「タイトル属性」をそのままファイル名に変換したいと思いました.


が...

ファイル一つ一つやっていくのは面倒ということで,コマンドレットを作成することにしました!!!

f:id:lhopital:20201201070048j:plain

詰まった点

作成の際に詰まった点について書きます!

ファイル名の拡張子の取得

プログラムではまず,コマンドの実行ディレクトリ直下にある音声ファイル名をリストとして取得します.

$items = Get-ChildItem -Path ./ -Include *.mp3,*.flac,*.m4a -Name

これで,itemsという変数に,mp3,flac,m4aファイルの名前がリストとして格納されます.

その後,ファイル名を変更して保存するのですが,ファイル名の拡張子は元の拡張子と同じ必要がありますよね???

そこで,元ファイルの拡張子がmp3なのかflacなのかm4aなのか判断する必要があるのですが,それが難しい(-_-;)

Get-Childitemによって得られるデータには本来,拡張子を保存しているExtensionという変数が含まれるのですが,Nameオプションでファイル名で条件指定して得られたデータではExtensionが使えないんです( 一一)

拡張子を取得するためのコードを書こうかと思ったんですがめちゃくちゃ簡単な解決方法がありました(笑)

ファイルの再取得

ファイル名が分かっているので,Get-Childitemによりファイルを再取得し,Extension属性で拡張子を確認すればOKでした.Powershellをよく使う人にとっては当然の解決策なのかな?

まとめ

今回は,音声ファイルの名前をタイトル属性と同名に変換するコマンドレットを作成しました!!

たいしたことない記事ですみません(笑)もうちょっとコーディング頑張りますノシ

【PyInstaller】インストールしてもpyinstaller がコマンドとして認識されない問題【解決】

はじめに

どうも!pythonに触り始めてからCを書く気が失せてしまったロピタルです( 一一)

今回は、pythonのファイルをWindows用の実行ファイル(.exe)に変換できるPyInstallerというツールをインストールする際にパス周りで苦労したので、簡単に解決までの道のりを書いときます(^^♪

www.pyinstaller.org

結論だけ手短に話すと、Microsoft StoreでインストールしたPyhtonだとうまくいかなかったみたいです。こちらのサイトを参考にインストールし直したらうまくいきました。

もくじ

環境

Windows 10Python 3.7.9がインストールされている状態です。なお、PyInstallerWSL上では正しく動かないっぽいです。(一度、何も考えずWSL上でインストールして実行したのですが、出力されたファイルが実行ファイルでも何でもありませんでした笑)

状況

公式ページの通りにpipを用いてインストールを行いました。

pip install pyinstaller

インストールは無事完了しました。pip listで確認。

> pip list
Package                   Version
------------------------- ---------
altgraph                  0.17
future                    0.18.2
pefile                    2019.4.18
pip                       20.2.4
pyinstaller               4.0
pyinstaller-hooks-contrib 2020.10
pywin32-ctypes            0.2.0
setuptools                40.6.2

確かにインストールされています。しかし、pyinstallerを実行しようとすると

> pyinstaller
'pyinstaller' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となります。

解決

解決を順を追って書きます。

解決案1(失敗):パスを通す

「操作可能なプログラムとして認識されていない」ということだったので、pyinstallerのインストール先を環境変数PATHに追加することを考えました。

インストール先は以下のコマンドで確認可能です。

pip -show pyinstaller

インストール先を確認しましたが実行ファイルは見つからず、パスを通しても無意味でした( 一一)

解決案2(失敗):インストール方法の変更

ネットで調べると、インストールコマンドが

pip install pyinstaller

でなく

pip install PyInstaller

となっているページがあることに気づきました。

そこで、下のコマンドで行ったところインストール時に「ここをパスに追加してね!」的なメッセージが表示されました!そして、そこをパスに追加するとpyinstallerが動作しました( *´艸`)

しかし…

うまく動作しない問題

pyinstaller sample.py

といった形で実行したところ、以下のようなエラーが(-_-;)

raise error(exception.winerror, exception.function, exception.strerror)
win32ctypes.pywin32.pywintypes.error: (1920, 'LoadLibraryExW', 'The file cannot be accessed by the system.')

どうしたものか…

解決案3(成功):Pythonを再インストール

Microsoft StoreでインストールしたPyhtonだとうまくいかないみたいです(-_-;)その原因を探ろうかとも思ったのですが、難しそうなので諦めました(すみません)

でことで、Pythonをアンインストールし、こちらのサイトを参考に再インストールしたところ無事にpyinstallerを利用することができました!

pythonのコードを実行ファイルに変換できるの便利!!!!!!!

まとめ

今回はpyinstallerのインストールで詰まった点について書きました!

しょうもない記事でしたが、お役に立てば幸いです(-_-;)

【総理大臣】歴代総理大臣と一行の豆知識まとめ

はじめに

どうも!デスクトップのパソコンを買いたいと思っているロピタルです!

さて、以前の記事にも書きましたが、僕はYoutubeにチャンネルを持ってまして,雑学の朗読動画をアップロードしています。(まだ4本だけです笑)

本記事では、先日アップロードした「歴代総理大臣朗読」という動画の内容を書き記しておこうと思います。

↓その動画です。見てくれまっそ (;_:)「

もくじ

総理大臣

では書いていきます!一人の総理につき一行でその人の豆知識を書いています"(-""-)"

初代総理大臣:伊藤博文

旧千円札の肖像だった。

第2代総理大臣:黒田清隆

酒に酔って民家に大砲を発射した。

第3代総理大臣:山縣有朋

明治政府の陸軍を作った。

第4代総理大臣:松方正義

子どもが26人もいた。

第5代総理大臣:伊藤博文

ふぐ食を解禁した。

第6代総理大臣:松方正義

日本銀行を創立した。

第7代総理大臣:伊藤博文

もみじ饅頭誕生のきっかけとなった。

第8代総理大臣:大隈重信

日本で初めて始球式を投げた。

第9代総理大臣:山縣有朋

松下村塾の生徒だった。

第10代総理大臣:伊藤博文

女好きで明治天皇に叱られた。

第11代総理大臣:桂太郎

ドイツに3年間留学していた。

第12代総理大臣:西園寺公望

立命館大学の学祖である。

第13代総理大臣:桂太郎

愛想の良さから「ニコポン宰相」と呼ばれた。

第14代総理大臣:西園寺公望

パリのカフェでガラスを割りまくった。

第15代総理大臣:桂太郎

桂と西園寺の口語の政権時代を「桂園時代」という。

第16代総理大臣:山本權兵衞

シーメンス事件により責任を問われ辞職した。

第17代総理大臣:大隈重信

電話番号は「177」だった。(現在の天気予報)

第18代総理大臣:寺内正毅

曾姪孫が「宇多田ヒカル

第19代総理大臣:原敬

東京駅で「中岡艮一」に暗殺される。

第20代総理大臣:高橋是清

米国留学時代に奴隷として売られた。

第21代総理大臣:加藤友三郎

陸軍の軍縮を成功し「軍縮の父」と称される。

第22代総理大臣:山本權兵衞

愛妻家として知られる。

第23代総理大臣:清浦奎吾

玄孫は歌手の「清浦夏実

第24代総理大臣:加藤高明

パリのカフェでガラスを割りまくった。

第25代総理大臣:若槻禮次郎

元三菱の社員だった。

第26代総理大臣:田中義一

タレントの「タモリ」の本名の由来となった。

第27代総理大臣:濱口雄幸

父の誤字により「幸雄」でなく「雄幸」となった。

第28代総理大臣:若槻禮次郎

学業の天才で帝国大学を首席で卒業している。

第29代総理大臣:犬養毅

支持者が勝手に選挙の立候補届を出した事がある。

第30代総理大臣:齋藤實

国際連盟からの脱退を行った。

第31代総理大臣:岡田啓介

貧乏で洋服をほとんど持っていなかった。

第32代総理大臣:廣田弘毅

東京裁判A級戦犯とされた。

第33代総理大臣:林銑十郎

大きな実績を残せず「史上最も無意味な内閣」と評された。

第34代総理大臣:近衞文麿

歴代首相の中で唯一死因が「自殺」

第35代総理大臣:平沼騏一郎

生涯独身であった。

第36代総理大臣:阿部信行

内閣発足二日後に第二次世界大戦が勃発。

第37代総理大臣:米内光政

海軍兵学校で成績が悪く「グズ政」と呼ばれていた。

第38,39代総理大臣:近衞文麿

180cm以上の長身だった。

第40代総理大臣:東條英機

庶民の生活を知るためゴミ箱を漁っていた。

第41代総理大臣:小磯國昭

東京裁判による服役中に食道癌で死去した。

第42代総理大臣:鈴木貫太郎

ポツダム宣言の受諾で第二次世界大戦を終わらせた。

第43代総理大臣:東久邇宮稔彦王

在任期間が54日と歴代総理のなかで最短である。

第44代総理大臣:幣原喜重郎

ワシントン会議に全権委員を務める。

第45代総理大臣:吉田茂

痔の治療のため自分の結婚式を欠席した。

第46代総理大臣:片山哲

元弁護士で一件一円の相談所を開設した。

第47代総理大臣:芦田均

日本国憲法GHQ原案の修正を行った。

第48~51代総理大臣:吉田茂

「好きなときにやめる」という条件で総理になった。

第52~54代総理大臣:鳩山一郎

ゴルフ好きで、世界の名だたるゴルフ場でプレイした。

第55代総理大臣:石橋湛山

政治家になる前はジャーナリストだった。

第56,57代総理大臣:岸信介

安倍晋三の祖父にあたる。

第58~60代総理大臣:池田勇人

所得倍増計画により日本経済を成長させた。

第61~63代総理大臣:佐藤榮作

日本人唯一のノーベル平和賞受賞者である。

第64,65代総理大臣:田中角榮

人の名前を覚える記憶力に長けていた。

第66代総理大臣:三木武夫

佐藤栄作国葬で暴漢に殴られた。

第67代総理大臣:福田赳夫

風呂の湯舟で歌う声が大きく隣人に怒鳴られた。

第68,69代総理大臣:大平正芳

「あー」「うー」と前置きして話し「アーウー宰相」と呼ばれた。

第70代総理大臣:鈴木善幸

麻生太郎の義父にあたる。

第71~73代総理大臣:中曽根康弘

国鉄民営化を成し遂げる。

第74代総理大臣:竹下登

ミュージシャン「DAIGO」の祖父にあたる。

第75代総理大臣:宇野宗佑

リクルート事件により急遽総裁に擁立された。

第76,77代総理大臣:海部俊樹

日本ソフトテニス協会名誉会長

第78代総理大臣:宮澤喜一

学歴主義で「人に会うと学歴を聞く」と言われていた。

第79代総理大臣:細川護煕

政界引退後は陶芸家として活動している。

第80代総理大臣:羽田孜

半袖スーツを着用し「クールビズの先駆け」と言われる。

第81代総理大臣:村山富市

男はつらいよ」に本人役として出演している。

第82,83代総理大臣:橋本龍太郎

オールバックの髪型から「ポマード大王」と呼ばれた。

第84代総理大臣:小渕恵三

「平成」の元号を発表した「平成おじさん」

第85,86代総理大臣:森喜朗

「IT革命」を「イット革命」と読んだ。

第87~89代総理大臣:小泉純一郎

ウルトラマンの映画に声優として出演している。

第90代総理大臣:安倍晋三

アーチェリー連盟の会長を務めていた。

第91代総理大臣:福田康夫

元々は「コスモ石油」勤務のサラリーマンだった。

第92代総理大臣:麻生太郎

好きな漫画は「ゴルゴ13

第93代総理大臣:鳩山由紀夫

参考書を立ち読みで暗記したらしい。

第94代総理大臣:菅直人

記者会見で「カイワレダイコン」を食べたことがある。

第95代総理大臣:野田佳彦

プロレスファンで、自身は柔道2段である。

第96~98代総理大臣:安倍晋三

ベストドレッサー賞」の受賞歴がある。

第99代総理大臣:菅義偉

令和おじさん。令和をよろしく。

まとめ

いかがだったでしょうか?自分が歴代総理大臣を覚えるために動画をアップロードしたので、僕と一緒に皆さんも覚えてみては??(笑)

でわ(@^^)/

【転置畳み込み】PyTorchのConvTranspose2dの動作についてまとめとく【Python】

はじめに

どうも!自宅で筋トレを始めたい、と考え続けているロピタルです('ω')

今回は、研究の中で触れる機会のあったPyTorchConvTranspose2dという関数が分かりにくかったので、分かりやすくまとめてみようと思います('Д')

なお、私はPython及びPyTorchの初心者ですので、間違い等ありましたら教えてください(-"-)

もくじ

経緯

研究の一環で、とあるコードの動作について調べていく中にConvTranspose2dが出てきたのですが、入力と出力のサイズが私の想定と合わず、動作がなかなか理解できませんでした…

いろいろ調べて理解できたので、ここにまとめておきます!

畳み込み

まず、畳み込みについて簡単に説明しておきます。

画像データについて

まず、画像というのは二次元の配列で表すことができます。(モノクロ画像は二次元ですが、カラー画像はRGBの三色分の行列が必要なので、三次元です)

例えば、以下の画像を見て下さい。

この画像は、以下のような配列で表されます。

モノクロ画像だと、0が黒色で、255に近づくにつれ白くなっていきます。

ちなみに先程の画像の生成コードはこんな感じです。

import numpy as np
from PIL import Image

array = np.array([[0.,100.],[200.,255.]])
image = Image.fromarray(array.astype(np.uint8)).resize((512,512),resample = 0)
image.save('sample.png')

畳み込みとは

では、畳み込みについて説明します。

畳み込みとは、カーネルと呼ばれる配列を、画像配列の、カーネルと同サイズの部分画像(ウィンドウ)に繰り返し適用し、各要素の積の和を新たな行列として出力する処理のことです。(文章で書くと全然分からんなぁ...)

例として、以下の画像(3x3)とカーネル(2x2)による畳み込みを見てみましょう。

この場合、画像に赤、緑、青、黄で示している4つのウィンドウにカーネルを適用していきます。

赤のウィンドウに適用した場合、2*1 + 1*0 + 1*0 + 0*1 = 2となります。

同様に他のウィンドウにも適用することで、計4つの数値を計算でき、出力は2x2の配列となります。

この畳み込みを行うコードはこんな感じ。

import torch
import numpy as np

Input = torch.tensor(np.array([[[[2.,1.,3.],[1.,0.,2.],[0.,2.,1.]]]]))
Kernel = torch.tensor(np.array([[[[1.,0.],[0.,1.]]]]))
print(Input)
print(Kernel)

Conv = torch.nn.Conv2d(1,1,3, bias = False)
Conv.weight.data = Kernel

Output = Conv(Input)
print(Output)

上記のコードで、以下の出力が得られます。

tensor([[[[2., 1., 3.],
          [1., 0., 2.],
          [0., 2., 1.]]]], dtype=torch.float64)
tensor([[[[1., 0.],
          [0., 1.]]]], dtype=torch.float64)
tensor([[[[2., 3.],
          [3., 1.]]]], dtype=torch.float64, grad_fn=<ThnnConv2DBackward>)

画像通りの出力が得られていますね。畳み込みでは、カーネルの値を変えることで画像の特徴を抽出したりできます。

畳み込みのオプション

前章の畳み込みは非常に単純な畳み込み処理でした。

畳み込みには、様々なオプション(?)が存在します。発展的な手法ってことですね。

それらを簡単に紹介します。

パディング

画像の周囲に値が0のピクセルを追加してから畳み込む手法です。パディングの幅が1なら上下左右に1列ずつ0が追加されるので、2x2の画像なら4x4の配列になります。

ストライド

画像にカーネルを適用する際、ウィンドウを数個とばしで適用していくことができます。ストライドが1であれば前例のように全ウィンドウに適用することになりますが、ストライドが2ならば1つとばしに、3なら2つとばしに適用することになります。

畳み込み例

先程提示した畳み込みに、パディングを幅1で適用し、ストライドを2にして畳み込みをしてみます。

まず、パディングを行うと以下のようになります。

そして、ストライドが2であるため以下の4色のウィンドウにカーネルが適用され、配列が出力されます。

これは以下のコードで実行できます。

import torch
import numpy as np

Input = torch.tensor(np.array([[[[2.,1.,3.],[1.,0.,2.],[0.,2.,1.]]]]))
Kernel = torch.tensor(np.array([[[[1.,0.],[0.,1.]]]]))
Conv = torch.nn.Conv2d(1,1,3, stride=2, padding=1, bias = False)
Conv.weight.data = Kernel

Output = Conv(Input)
print(Output)

上記のコードで、以下の出力が得られます。

tensor([[[[2., 3.],
          [0., 1.]]]], dtype=torch.float64, grad_fn=<ThnnConv2DBackward>)

画像と同じ出力が得られていますね~。

PyTorchでは、Conv2dという関数を用いることで簡単に畳み込み処理を行うことができます。パディングやストライドもオプションとして数値を指定するだけなので簡単ですね!

pytorch.org

転置畳み込み

さて、やっと本題です。転置畳み込みとは、逆畳み込みとも呼ばれる処理のことで、名前の通り畳み込みの逆の処理を行います。

畳み込みでは、複数のピクセルカーネルを適用し、一つのピクセルを生成します。

転置畳み込みでは逆に、一つのピクセルカーネルを適用して、複数のピクセルを生成します。

イメージだと、下図のようになりますね(-"-)

では、具体的にどのような動作を行うのか、PyTorchで転置畳み込みを行う関数であるConvTranspose2dの動作で見ていきましょう。

処理概要

転置畳み込みは、一つのピクセルから複数のピクセルを生成するというイメージしにくい処理を行うのですが、実は行う処理としては畳み込みと同じなんです(?)

ただし畳み込みと違い、畳み込む前の配列に、値が0ピクセルを追加して配列の拡大を行います。その拡大した配列を畳み込むことで、「一つのピクセルから複数のピクセルの生成」を実現します。

入力配列の拡大

畳み込みでも、パディングの章で説明したように配列の周囲に0を追加していく処理がありましたが、転置畳み込みでは3種類の追加処理があります。それぞれについて見ていきましょう!!

ストライド

さて、畳み込みでも出てきた「ストライド」です。

畳み込みでは、畳み込む際にウィンドウを何個とばしで処理していくか、という値でしたが、転置畳み込みにおいては、何ピクセルごとに元の配列のピクセルが入るか、という値になります。

例えばストライドが3の場合、元の配列の各ピクセルの間に2ピクセルずつ0が入れられます。

パディング

畳み込みでも出てきた「パディング」です。

これは、畳み込みの「パディング」と同じで、配列の周囲に0を埋めていきます。

※注意

ここで、私がPyTorchConvTranspose2dという関数の理解に苦しんだ原因についてお話します。

この関数では、paddingという名前のオプションがあり、これでパディングを行う幅が決まっています。

しかし、paddingの値がそのままパディングの幅になる訳ではありません。

ConvTranspose2dでは、Conv2dによる出力のサイズと整合性をとるため、dilation * (kernel_size - 1) - paddingがパディング幅となります。( kernel_size はカーネルの一辺の長さ、dilationは拡張畳み込みと言われる手法を利用しない場合は1です。拡張畳み込みの説明は割愛しますm(__)m )

整合性というのは、例えば3x3の配列に幅1のパディングを適用して2x2カーネルで畳み込みを行った場合、出力は4x4になりますよね?

転置畳み込みは、その逆の動作を行いたいという発想の処理です。そのため、Conv2dに設定したpaddingの値と同じ値をConvTranspose2dpaddingに設定することで、Conv2dで得られた出力を、その入力と同じサイズに変化させられる処理ができるようになっています。

4x4の配列を2x2カーネルで畳み込んで3x3の出力を得たい場合、パディングは必要ありません。しかし、ConvTranspose2dではpaddingの値を0にするのではなく、Conv2dで設定した1を設定することで、逆向きの処理を行うことができます。dilation * (kernel_size - 1) - paddingdilation=1,kernelsize=2,padding=1を入れると、たしかに0になります。

勘違いしやすいと思うので、気を付けましょう('Д')

アウトプットパディング

これは、畳み込みには出てきませんでしたね。

というか、ConvTranspose2dのオプション名がoutput_paddingであるため「アウトプットパディング」と称しましたが、実際にこういう名前かは分かりません(笑)

これは、「パディング」に近い処理をするのですが、周囲4方向に0を埋めるのではなく、右と下にのみ0を埋めます。これは、出力される配列のサイズを調整するために利用するみたいです!

以下の入力配列とカーネルを利用した転置畳み込みの例を見ていきましょう!

まず入力配列の拡大を行います。ConvTranspose2dの引数を、stride=2,padding=1,output_padding=1として拡大します。パディング幅は前述した通り、拡張畳み込みを行わない場合はkernel_size - 1 - paddingで求められるので、今回は0となり、以下のような拡大となります。

あとは、畳み込みと同じように処理するだけです!!

なんとなく、転置畳み込みの処理が分かっていただけたでしょうか??今の例の転置畳み込みを行うコードはこんな感じ。

import torch
import numpy as np

Input = torch.tensor(np.array([[[[2.,3.,2.],[1.,2.,4.],[4.,2.,1.]]]]))
Kernel = torch.tensor(np.array([[[[2.,1.],[1.,2.]]]]))
print(Input)
print(Kernel)

Conv = torch.nn.ConvTranspose2d(1,1,2, stride=2, padding=1, output_padding=1, bias = False)
Conv.weight.data = Kernel

Output = Conv(Input)
print(Output)

これを実行すると、以下の出力が得られます('ω')

tensor([[[[2., 3., 2.],
          [1., 2., 4.],
          [4., 2., 1.]]]], dtype=torch.float64)
tensor([[[[2., 1.],
          [1., 2.]]]], dtype=torch.float64)
tensor([[[[4., 3., 6., 2., 4.],
          [1., 4., 2., 8., 4.],
          [2., 2., 4., 4., 8.],
          [4., 4., 2., 2., 1.],
          [8., 2., 4., 1., 2.]]]], dtype=torch.float64,
       grad_fn=<SlowConvTranspose2DBackward>)

手計算と同じ結果になっています!!

まとめ

今回は転置畳み込みの処理について書いてみました。

分かりにくい文になってしまったかもしれませんが、お役に立てれば幸いです( *´艸`)

でわノシ

【心理学】日常に潜む心理学50選!

はじめに

どうも!やっと暑さから解放され始めて喜んでいるロピタルです!

さて、実は僕、Youtubeにチャンネルを持ってまして,雑学の朗読動画をアップロードしてるんですよ!(まだ3本しかないですが笑)

でですね、先日「日常に潜む心理学」を朗読する動画をアップロードしたんです。

ただ、その内容をわざわざ聴きたくもない人もおられると思いますので、このブログにまとめて書いておこうと、そんな記事になっております(-_-;)

↓その動画です。見てくれたら喜びーむ打ちます

もくじ

心理学50選

さて、書いていきますよ!!

1 アロンソンの不貞の法則

よく知っている相手からの褒め言葉よりも、よく知らない相手に言われた褒め言葉の方が嬉しい、と感じる法則です。関係性の薄い相手ほど、内輪びいきが無いため、嬉しく感じやすいんだとか。初対面の人と、仲良くなれないときは、素敵なところを見つけて褒めてみるのが効果的かもしれません。

2 アンカリング効果

最初に提示された数字や条件が基準となって、その後の判断が無意識に左右されてしまう、という効果です。例えば、5000円のTシャツに「高い」と感じる人でも、10000円のTシャツが半額の5000円となっていれば、「お得」と感じて購入してしまう、などです。マーケティングに利用される効果なので、物の本質を見極めて買い物しないといけませんね。

3 アンダードッグ効果

投票予測や勝敗予測で劣勢だったほうを応援する傾向が出てくる、という効果です。選挙で劣勢と報道された候補者に対し、同情して投票する者が増える、といった状況などです。アンダードッグ効果の反対に、多くの人に支持されているという情報によってさらに支持が増加する効果を「バンドワゴン効果」といいます。

4 アンダーマイニング効果

内発的に動機づけられた行為に対して、報酬を与えるなどの外発的動機づけを行うことによって、モチベーションが低減する、という効果です。例えば、「楽しい」という内発的な動機でやっていたゲームが、「大会で賞金が貰える」という外的動機を与えられたことで、ゲームへのやる気が低下してしまう、などです。 ただし、ゲームの賞金のような報酬には行動を促すプラスの効果もあり、これをエンハンシング効果といいます。

5 ウィンザー効果

三者を介した情報や噂のほうが、直接本人から伝えられるよりも影響が大きくなり信憑性が増すという効果です。直接褒められるより、「あの人が君のこと褒めてたよ」と伝えられるほうが嬉しい、といった効果ですね。他人を褒めるときに活用したい心理学です。

6 ヴェブレン効果

価格が高ければ高いほど購買意欲も高まっていく、という効果です。ブランド品のように、持っているということ自体に価値が生まれ、顕示欲を満たすために購入する人が増える、などです。有名な画家の作品が非常に高いのも、この効果によるのかもしれませんね。

7 ウェルテル効果

マスメディアの自殺報道に影響されて自殺が増える、という効果です。いわゆる、「後追い自殺」によって増加してしまう訳ですね。調べると、過去のウェルテル効果による自殺者の増加について、いろいろ情報が出てきて驚きました。

8 エコーチェンバー効果

閉鎖的空間内でのコミュニケーションを繰り返すことよって、特定の信念が増幅または強化される、という効果です。SNS掲示板の、同じ意見を持った人たちの集まるコミュニティでは、自身と同じ考えの集団であるため、その考えが正しく感じてしまう、といった効果です。SNSの使い方には気を付けたいものですね。

9 おとり効果

2つの選択肢でどちらにしようか迷っている消費者に対して、第3のおとり選択肢を提示することで、消費者が特定の選択肢を選ぶ傾向がある、という効果です。安い商品と高い商品の二択では安い商品を選ぶこともありますが、そこにもっと高い商品を入れた三択では、中間の選択肢を選びやすい、といった効果です。これは日常に多く潜んでいる気がしますね。

10 カチッサー効果

自分がしてほしい要求を出すときに、理由をつけると要求が承認される確率が上がる、という効果です。この効果の面白いところは、つける理由の内容があまり関係ない、ということです。たいした理由がなくとも、何か理由をつけたほうが承認されやすい、ということです。これは使えますね。

11 カラーバス効果

ある一つのことを意識することで、それに関する情報が無意識に自分の手元にたくさん集まるようになる、という効果です。例えば、欲しいブランドの服があると、そのブランドの服を着ている人を街中でよく見かけるようになる、といった効果です。アンテナを張っていないと、情報は得られにくいということですね。

12 カリギュラ効果

ダメと言われるとかえって興味を掻きたてられ、逆の行動に走る、という効果です。押すなと書いたボタンがあると、ものすごく押してみたくなったりしますよね。そういう芸人さんもいたような気がします。

13 クレスピ効果

与えられる報酬の量の急変により行動が変化する、という効果です。アルバイトで時給が増えたらやる気も上がって、よく働くようになる、といった感じです。雇用側の報酬アップにも効果があるってことですね。

14 ゲインロス効果

人の心理状況において、プラスとマイナスの変化量が大きいほど、人の心に影響を与える度合いが大きくなる、という効果です。ハッピーなサプライズを行うときは、あえて少し悲しい気持ちにさせておくと喜びが大きくなったりします。不良が猫を助けてるといい人に見えるのもこれかな。

15 ゴーレム効果

周囲の期待が低い場合、その人物は周囲の期待通りにパフォーマンスが低下してしまう、という効果です。上司に期待されていない部下は、仕事の成績も悪くなってしまうということです。逆に、期待が高いほどパフォーマンスが上がることを、ピグマリオン効果といいます。

16 コスチューム効果

着ている服装が持つイメージ・期待に合わせて意識が変化する、という効果です。スーツを着ていると、ビジネスマンらしく行動しようと意識する、といった感じです。チームスポーツなどで、同じ服を着ることで連帯感が生まれることはユニフォーム効果といいます。

17 ゴルディロックス効果

人が上でも下でもなく、中間の選択肢を好む、という効果です。この効果を用いて、相手の選択をコントロールするのが、前述した「おとり効果」ということですね。松・竹・梅の選択肢があれば竹を選びたくなる、ということです。

18 コンコルド効果

ある対象への金銭的・精神的・時間的投資をしつづけることが損失につながるとわかっているにもかかわらず、それまでの投資を惜しみ、投資がやめられなくなる、という効果です。ギャンブルで、負けを取り戻すために続けて一文無しになる、といった状況が考えられます。ラスベガスに行くときは気を付けましょう。

19 作業興奮

興味のないような作業でも、やっているうちにやる気や集中力が出てくる、という作用です。部屋の掃除なんかも、普段はやる気がおきなくても、いざ始めると隅々までやってしまったりしますよね。思い立ったら行動ってのは間違ってないのかもしれません。

20 初頭効果

最初に与えられた情報が印象に残り、後の評価に影響を及ぼす、という効果です。例えば、「高品質で高い」と聞くと「高品質」が強く残り、良い印象を抱きやすく、「高くて高品質」と聞くと「高い」が強く残り、悪い印象を残しやすい、といった感じです。逆に、最後に提示された情報が印象に残りやすいという心理効果を「親近効果」といいます。

21 人生脚本

全ての人は、子供の頃に無意識に作り上げた「人生脚本」を基に、人生のあらゆる場面で決断を下しながら生きている、という考えです。自分の人生を変えるためには、自身の「人生脚本」について知った上で、それを書き換える必要があるのかもしれません。

22 スティンザーの三原則

会議における3つの心理法則の総称です。その三つとは、「正面に座る人は、反対意見を持つ人、過去に激しく口論になった人が多い。」「ある発言があった後、次に発言する人は意見に反対である場合が多い。」「議長の主導権が強い場合は、隣同士の人達の間で私語が多く、主導権が弱い場合は、正面に座る人同士の私語が多い。」というものです。この法則を活用すれば、良い会議が開けるのかもしれません。

23 スノッブ効果

スノッブ効果とは、他者の購入量が減少するほど、購買者個人の購買心理は高まるという現象のことです。他の人とは違う商品を所有することで、希少性への欲求を満たしたいという心理作用に基づいているようです。日本人はこの傾向が強いみたいですね。

24 スリーパー効果

信頼性を感じない情報源から得た情報・メッセージでも、時間経過によって信頼度が高まる、という効果です。全く信憑性のない情報であっても、時間が経つと「信憑性がない」ということは忘れ、その情報は頭に残っているため、信頼度が高まってしまうようです。悪用できてしまいそうな効果ですね。

25 宣言効果

声に出して目標を言うことにより、その目標が達成しやすくなる、という効果です。宣言することで、自身にプレッシャーがかかり、やる気も上がるため達成しやすくなるようです。新年の抱負なんかにも、意味があるのかもしれませんね。

26 前提挿入

相手に何かを伝える際に、さりげなく前提となる情報を組み込む心理テクニックです。例えば、「AとBのどちらにしますか?」と聞かれると、どちらが良いか悩み、「どちらも選ばない」という選択はとり辛いかと思います。これは、「どちらかを選ぶ」という前提をさりげなく組み込まれているということですね。

27 黄昏効果

夕方から夜にかけての時間帯は、人間の判断力が低下する、という効果です。一日の活動が終わる時間帯は、日中に比べて判断力が大幅に低下しているようです。仕事でのミスや交通事故が起こりやすいらしいので、気をつけなければいけませんね。ただ逆に、他人との交渉には活用できる心理学みたいです。

28 ダブルバインド

二つの違う矛盾した意味のメッセージを相手に命令することで、相手を混乱させ強いストレスを与えてしまうことを言います。例えば、「わからなかったらすぐ聞いて」と言われ、聞きに行くと「自分で考えろ」と怒られる、といった状況などです。どちらを選択しても一方には背いてしまい、どう対応していいかわからなくなってストレスを感じてしまいます。

29 ツァイガルニック効果

人は、達成できなかった事柄や中断している事柄のほうを、達成できた事柄よりもよく覚えている、という効果です。例えば、最後まで読み切った漫画はあまり思い返すことが無くても、途中までしか読めていない漫画は、続きが読みたくて何度も思い返してしまう、といった状況などです。この効果は、完了間近な事柄ほど強いんだとか。

30 ドアインザフェイス

本命の要求を通すために、まず過大な要求を提示し、相手に断られたら小さな要求を出す心理テクニックです。例えば、友人に1000円借りたいとき、まず10000万円借りることを要求し、断られてから1000円を要求すると、相手は「1000円なら」と、貸してくれる可能性が高いようです。この逆で、まずは小さな頼みごとを承諾させてから、徐々に大きな頼みごとを承諾させていくという手法を「フットインザドア」といいます。

31 ネオフォビア

自分の知らない新しいものには恐怖心を抱いてしまう、という心理効果です。ネオフォビアは、「未知のものは危険かもしれない」という生存本能に起因するようです。新しいことへの挑戦は確かに不安も多く感じるものですよね。

32 ネガティビティ効果

人はポジティブな情報よりも、ネガティブな情報に注意を向けやすく、記憶にも残りやすい性質を持つ、という効果です。ネット通販でも、高評価の感想より低評価の感想を見て、商品にマイナスなイメージを持ってしまったりしますよね。ポジティブな意見に目を向けられるようになりたいものです。

33 バーナム効果

誰にでも当てはまりそうな性格などの特徴を言われた人が、自分にズバリ当てはまっていると勘違いしてしまう、という効果です。例えば、「あなたは、面倒なことが嫌い」という特性は、ほとんどの人が当てはまるのではないでしょうか。血液型占いなんかは、このような当たりさわりのない特徴を言うことで、当たっていると錯覚させているようです。

34 端数効果

切りのいい数字よりも、端数を使ったほうが、信憑性が向上する、という効果です。例えば、商品が1000円で売られていると、「適当に値段を付けたのかな?」と感じてしまうけど、980円だと「意味のある価格なのだろう」と感じられる、などです。たった20円の違いなのに、安く感じてしまいますよね。

35 ハロー効果

ある対象を評価する時に、それが持つ顕著な特徴に引きずられて他の特徴についての評価が歪められる、という効果です。スポーツが得意な人と苦手な人がいて、どちらに仕事を頼むかと聞かれると、スポーツが得意な人を選ぶのではないでしょうか。仕事の力量は分からずとも、運動能力で仕事力の評価を歪めてしまっているということなのでしょう。

36 ピークエンドの法則

ある出来事を経験した際に、人は感情のピークとその出来事のエンドで、経験の全体を判断するという法則のこと。例えば、映画で前半があまり面白くなくとも、クライマックスとエンディングが面白ければ「いい映画だった」と感じるのではないでしょうか。「終わりよければ全てよし」は、間違ってないのかもしれません。

37 フォールスコンセンサス効果

自分の意見・考え・行動が常に多数派で正常であると思い込む効果のことです。例えば、お風呂でどこから体を洗うか、という質問があります。僕は髪から洗うのが普通と思っているのですが、皆さんはどうでしょう。自分の当たり前が、当たり前では無いかもしれません。この勘違いを生んでいるのが、この効果です。

38 プラシーボ効果

有効成分が含まれていない薬を投与されても、薬が効くという患者の思い込みにより、病状に改善・回復の兆しが見られる効果のことです。心理用語では、かなり有名な効果ではないかと思います。病は気からって本当なのかもしれませんね。

39 プロスペクト理論

人は手に入れることより、失うことを過大に評価しており、そのため最適解を求めるよりも、損失を回避するための行動をとりやすい、という理論です。例えば、コインが表なら100万円貰え、裏なら50万円失うというギャンブルは、期待値は50万円のプラスですが、損失があるため挑まない選択を取る人が多い、といった理論です。

40 返報性の原則

人は他人から何らかの施しを受けた場合に、お返しをしなければならないという感情を抱く、という心理のことです。これを利用した最たるものが「試食」です。お店で試食すると、「食べさせてもらったのだから、買ってあげなければ」という心理が働いて、購入する人が増えるんですね。

41 傍観者効果

ある事件に対して、自分以外に傍観者がいる時に率先して行動を起こさない、という効果です。街中で殺人事件が起こっても、目撃者が多いと、通報する人や助けに行く人は少ないんだとか。責任を負うことを嫌ったり、誰かがやるだろうと考えたりして、行動しなくなるようです。

42 ボッサードの法則

物理的な距離が心理的な距離に影響を及ぼす、という効果です。特に、男女の親密度において使われる法則で、遠距離恋愛がうまくいきにくいことを裏付けているようです。

43 マム効果

対人的コミュニケーションにおいて、相手にとって不利な情報、不快な事の伝達を避けようとする効果のこと。例えば、上司に自分の失敗について伝えない、などです。また、伝える内容が自身とは関係なくとも、相手にとって不快であれば この効果は発生してしまうようです。

44 メラビアンの法則

聞き手への影響力は言葉によるものが低く、言葉以外によるものが圧倒的に高い、という法則です。初対面の人物を認識する割合は、見た目等の視覚情報が55% 、声質等の聴覚情報が38%、発言内容である言語情報が7%らしいです。面接において見た目が重要であることを裏付けている法則です。

45 ラベリング効果

相手にラベルを貼ることで相手に暗示を与えて、相手がそれに沿って動くようになる、という効果です。たとえば、「優しいですね」と相手に伝えると、相手は自身に貼られた「優しい」というラベルに従い、優しい行動をするようになります。子育てでは気を付けたい効果かもしれません。

46 ランチョンテクニック

おいしい食事をしながら話すと、相手に好印象を与えやすい、という心理テクニックです。ビジネスの接待で、おいしい料亭なんかに行ったりするのもこのテクニックなのかもしれませんね。恋愛でも使えるテクニックみたいですよ。

47 リフレーミング

ある出来事や物事を、今の見方とは違った見方をすることで、それらの意味を変化させて、気分や感情を変えるテクニックのことです。有名な例ですが、コップに半分入った水に対し、「あと半分しかない」と見るか「まだ半分ある」と見るかで、感覚が変わりますよね。このように、捉え方を変えることで感情をコントロールすることをリフレーミングと言います。

48 両面提示の法則

メリットだけではなくデメリットも合わせて一緒に提示して明らかにすることで、信頼感・説得力・好感度が高まる、という法則です。誰しも、完璧なものは存在しないと考えているため、デメリットを提示することで、メリットにも信憑性を感じるようです。これは、広告によく利用されている法則ですね。

49 リンゲルマン効果

集団で共同作業を行う時に一人当たりの課題遂行量が人数の増加に伴って低下する、という効果です。人数が多いほど、「自分がやらなくても大丈夫」という心理が働くためです。頑張りに応じた報酬や罰を与えると、リンゲルマン効果の対策になるようです。

50 ローボールテクニック

はじめに相手が承諾しやすい好条件を出し、徐々に相手にとって不利な条件を突きつける、という手法のことです。例えば、居酒屋のキャッチに「1000円で飲み放題」と聞いて入店してみると、お通しやサービス料などで多くの料金を取られる、などです。一度承諾してしまうと、不利な条件を後から聞いても断りにくくなってしまう、という心理を使っているみたいです。

まとめ

今回は心理学について列挙してみました(*ノωノ)

私の専門分野ではないので、間違い等ございましたらご享受願いますm(__)m

ではノシ