としおの読書生活

田舎に住む社会人の読書記録を綴ります。 主に小説や新書の内容紹介と感想を書きます。 読書の他にもワイン、紅茶、パソコン関係などの趣味を詰め込んだブログにしたいです。

2020年07月

ワインライターかつワインソムリエである葉山孝太郎さんが書いた、『これだけは知っておきたい 必要最小限のワイン入門』を読んだので簡単な内容紹介と感想を記します。





ワインを楽しむのに必要な知識は少しだけでいい


映画などを見ていると主役がこのワインはなになにだなどのセリフを言っているのを見て、ワインを楽しむためにはそこまでしらないとだめだと思う人が多いかもしれません。

しかし、実際はワインは以下の5種類に分類できるということだけ分かっていれば楽しむことができます。

  • ボルドー系の渋くてどっしりした赤ワイン
  • ブルゴーニュ系の酸味がありエレガントなワイン
  • 辛口の白ワイン
  • 極甘口のデザートワイン
  • シャンパーニュを頂点とするスパークリングワイン
ワインを楽しむためにはたったこれだけの知識でよかったのです。

これらのワインがどういうものであるのか簡単に紹介していきます。


ボルドーの赤


カベルネ・ソーヴィニヨンやメルローを使用した赤ワイン。

味は渋く、色は黒いずっしりと重いワインである。

ボルドー地方のワインにあこがれてチリやカリフォルニアなど世界中で作られている。


ブルゴーニュのエレガントなワイン


ピノ・ノワールを使用した赤ワイン。

色は淡く、香りがたかい。また、酸味がきれいであるため飲みやすいという特徴があり、ボルドーと正反対のワイン。

ピノ・ノワールは気候に影響されやすいためニュージーランドやアメリカのオレゴン州など限られた地方でブルゴーニュ地方にあこがれた赤ワインが作られている。


辛口の白ワイン


辛口の白ワインのほどんどはシャルドネをもとに作られており、シャルドネだけを覚えておけば白ワインを語れるといわれているほどの人気。

辛口の白ワインが甘口よりも愛されている理由は、旨味があり食事にあうからである。

また、樽の香りでワインの風味が変わったり、作る場所によって味が違うというのもシャルドネを使った白ワインが人気の理由である。


極甘口のデザートワイン


デザートワインとして有名なものはドイツで作られる、リースリングを使って作った白ワインである。

極甘口は限られた国でしか作られないことから珍しいため希少性が高く人気である。


シャルドネとリースリングが原料となっている白ワインの他にソーヴィニヨン・ブラン、ゲヴェルツトラミネール、甲州を使って作られた白ワインも人気だ。


スパークリングワイン


スパークリングワインは皇帝陛下のビールなようなものであるため、どんな食事にもあい世界中で愛されている。

また、スパークリングワインの最高峰であるシャンパーニュもどんな高級レストランでも1本1万円ほどで飲めるのも人気の理由である。(赤や白を高級レストランで注文すると2、3万円~になる)

シャンパーニュとスパークリングワインの違いって何なのかということだが、ただ単に産地が違うだけである。

シャンパーニュ地方で作られる泡がでるワインのことをシャンパーニュと呼び、その他の地方で作られる泡がでるワインはスパークリングワインと呼ばれている。






新世界と旧世界の違いは?


ワインについて話しているとよく新世界と旧世界という言葉がでてくる。

旧世界とはフランスやドイツなどのヨーロッパで昔からワインを作ってきた国のことである。新世界のワインと比べて味が複雑なのが特徴的だ。

一方、新世界とは旧世界以外のワインを最近作り始めた国のことだ。日本やアメリカも新世界に分類される。味が分かりやすく、旧世界のワインにお手頃な価格のワインが多いという特徴がある。

以下で旧世界と新世界の各国の特徴を紹介していく。



旧世界のワイン


ここでは旧世界に分類されるフランス、イタリア、スペイン、ドイツのワインの特徴を簡単に紹介する。


フランス


さきほど紹介した、5種類のワインを制覇したワインの王者である。

新世界ではなかなかつくることができない、エレガントで飲み飽きしないワインが多い。


イタリア


ボルドー系やシャルドネ系のような濃厚で力強い赤ワインと白ワインが得意な国。


スペイン


ボルドー系の濃厚な味がどっしりとした赤ワインが得意。

また、スパークリングワインをシャンパーニュと同じ製法で作っており、安くてうまいという特徴がある。


ドイツ


リースリングを使った甘口の白ワインが得意。

昔はドイツのワインと言えばとにかく甘いという印象が強かったが近年は辛口の白ワインも作られている。

また、半甘口の白ワインは世間的には人気がないが中華などにあうため意外とおすすめ。



新世界のワイン


ここでは新世界に分類されるアメリカ、カナダ、チリ、オーストラリア、ニュージーランド、日本のワインの特徴を簡単に紹介する。


アメリカ


アメリカのワインの9割はカリフォルニア州で作られている。

カリフォルニア・ワインは濃厚で華やかで甘いのが特徴的だ。

また、オレゴン州やワシントン州ではブルゴーニュ地方のようなスタイリッシュなワインが作られている。


カナダ


氷点下で収穫されたブドウを使って作られるアイスワインが得意である。

アイスワインは希少性が高いため、新世界のワインといえどもカナダのアイスワインのお値段は少し高めである。


チリ


チリのカベルネ・ソーヴィニヨンは安いがとても濃厚で美味しい。

日本ではチリワインの消費量がどんな国のワインよりも多い。


オーストラリア


ボルドー系の渋くて濃い赤ワインが得意である。

また、1000円台で購入できるスパークリングワインも美味しい。


ニュージーランド


ブルゴーニュ地方のようにピノ・ノワールを使用した美味しい赤ワインを作ることができる珍しい国。

手ごろにピノ・ノワールを楽しみたい場合はニュージーランド産がおすすめ。


日本


甲州と呼ばれる日本独自の品種で作られた白ワインがおいしい。

日本の白ワインはとても和食にあう。


ワインはどこで買うべき?


ワインを購入する場所としておすすめな場所はワインショップ、コンビニ、ネットである。

各場所でワインを購入するときのポイントを以下に示す。


ワインショップ


ワインの専門店であるため、ワインのこと色々と聞きながら購入することができる。

たいていの店員はワイン好きを増やしたいと思っているため、ワイン初心者だっとしても遠慮なく話しかけることが大切。

ワインショップは高いワインだけではなく安いワインも扱っており、特に派手なポップで店員のコメントが書かれているワインがおすすめである。

なぜならポップが書かれているワインは店の顔であるため、ハズレのワインだということが絶対にないからだ。


コンビニ


コンビニは安くて美味しいワインを購入できる場所だ。

コンビニのワインが安くて美味しい理由は、海外から輸入したワインを自社ラベルに変えたり、国内で発行させたりしているからだ。

デイリーワインとしてよくできているワインが多いため、普段飲みには最適である。


ネット


一度飲んだことがある、お気に入りのワインを日常用に買うのにおすすめの場所である。

また、たまに希少ワインを安く購入できることもありワインマニアはネットで網をはっている。

知らないワインについて店員のアドバイスを聞くことができないのが欠点だ。



感想


本書をとおして「ワインの違いが分かるようになるために基礎的な知識を学びたい」という目標を達成することができました。

本書を読む前はとりあえず金賞受賞しているから美味しいんだろうぐらいの知識でワインを購入していました。

しかし、本書を読み終えたいまは白の辛口のワインが飲みたいから今日はシャルドネのワインを購入するといったようなワインを選択できるぐらいの知識は身に付きました。

また、本書はワインについての小難しい話をずっと語っているだけではなく、要所要所で著者のおすすめのワインを紹介していたのも良かったです。

ワインの入門編として小難しい本を読む前にぜひ読んでいただきたい本なので、本記事をよんで少しでも興味を持った方はぜひ『れだけは知っておきたい 必要最小限のワイン入門』を読んでみてください。






6月15日から25日の間に石屋製菓で抽選販売が行われていた『白い恋人しあわせBOX』が届きました。

『白い恋人しあわせBOX』が定価と比べてどれぐらいお得であったのかと、中身を紹介していきます。



『白い恋人しあわせBOX』の中身紹介


『白い恋人しあわせBOX』は5400円で10800円相当の白い恋人を購入することができるというお得なセットです。

人によって微妙に中身が違うみたいで今回私のもとに届いた『白い恋人しあわせBOX』には以下の商品が入っていました。

1593917120755


前回購入した『白い恋人で北海道にエール!BOX』に比べると白い恋人の割合がかなり高いBOXとなっていました。


白い恋人


白い恋人は以下の種類の商品が入っていました。

  • 54枚缶入り(ホワイト36枚&ブラック18枚)が1箱
  • 24枚入り(ホワイト&ブラック)が1箱
  • 24枚入り(ホワイト)が2箱
  • 12枚入り(ホワイト)が3箱

1593917125721

1593917140985

1593917139669

1593917136983


個品的に缶入りの54枚入りが入っていたのがすごく嬉しかったです。

缶がおしゃれなので食べた後に小物入れとしても使えそうです。

1593917129587

1593917132671


各商品の1箱当たりのお値段は以下の通りです。

  • 54枚缶入り(ホワイト36枚&ブラック18枚)が3996円
  • 24枚入り(ホワイト&ブラック)が1598円
  • 24枚入り(ホワイト)が1598円
  • 12枚入り(ホワイト)が799円






美冬 さくら


期間限定商品の『美冬 さくら』の6個入りが1箱入っていました。

上品なさくらの味が特徴的でとても美味しいのでこちらもうれしいですね。

1593917144026

定価は1箱761円です。


白い恋人 ホワイトチョコレートプリン


白い恋人 ホワイトチョコレートプリンは1個が1箱入っていました。

この商品はオンラインショップでは3個入りしか販売していないので、1個入りが届いたのは意外ですね。

上品なホワイトチョコレートにハスカップ味のソースが絶妙にマッチしてこちらもとても美味しい製品となっています。

1593917145660

定価は1箱360円です。



合計価格


今回私のもとに届いた『白い恋人しあわせBOX』の合計価格は12308円でした。

前回の『白い恋人で北海道にエール!BOX』以上にお得な詰め合わせBOXだったのでかなり嬉しいです。

BOXシリーズの販売は今回で最後とのことでしたが、正直年に一度でいいので毎年こういったお得なBOXを発売してほしいですね。


前回の『白い恋人で北海道にエール!BOX』に関する記事も以下に書いていますのでよかったら読んでください。









CNNの元祖となるLeNetを用いてcifar10の画像分類を行いました。





cifar10とは


cifar10とは飛行機、自動車、鳥、猫、トナカイ、犬、蛙、馬、船、トラックの10種の画像のデータセットです。

各画像は32×32のカラー画像で全体画像数は60000件あります。そのうち50000件が訓練データ、10000件がテストデータとなっています。

cifar10の画像の例を以下に示します。

Figure_1


LeNetとは


LeNetとは1998年に発表された畳み込みニューラルネットワーク(CNN)の元祖とも呼ばれているニューラルネットワークです。

ディープラーニングの火つけ役となったAlexNetもLeNetを参考にしたネットワーク構成となっています。

Figure_2

LeNetのネットワーク構成は、2層の畳み込み層、2層のプーリング層、2層の全結合層からできており、近年のモデルと比べると層が浅いのが特徴的です。

また、近年よく用いられているDropoutやBatch Normalaizationなども用いられていないためシンプルな構成となっています。


実装



cifar10の準備


# cifer10をダウンロード
    (x_train,y_train),(x_test,y_test)=cifar10.load_data() # 32×32×3の配列

    # 画像を0から1の範囲で正規化
    x_train = x_train.astype('float32') # float32に変換
    x_train = x_train/255; # 0~1の値に変換するために255で割る(cifer10は0-255のRGBで表現されている)
    x_test = x_test.astype('float32')
    x_test = x_test/255;

    # 正解ラベルをone-hot表現に変換
    y_train = np_utils.to_categorical(y_train, 10)
    y_test = np_utils.to_categorical(y_test, 10)

cifar10の画像は0-255のRGBで表現されているため255で割って0~1の範囲で正規化しています。

正解ラベルはone-hot表現に変換しています。
4なら[0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
6なら[0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
といった感じに。


LeNetの構築


# LeNetの論文を参考して作成したモデル
def CreateLeNet(input_shape, num_classes):
    model=Sequential()
    
    model.add(Conv2D(filters=6, kernel_size=5, padding='same', input_shape=input_shape, activation='tanh'))
    model.add(MaxPool2D(pool_size=(2,2)))
    model.add(Conv2D(filters=16, kernel_size=5, padding='same', activation='tanh'))
    model.add(MaxPool2D(pool_size=(2,2)))
    model.add(Flatten())
    model.add(Dense(120, activation='tanh'))
    model.add(Dense(84, activation='tanh'))
    model.add(Dense(num_classes, activation='softmax'))
    
    return model

モデルは先ほどのLeNetの図を参考に作成しました。

畳み込み層 ー>プーリング層 ー>畳み込み層 ー>プーリング層 ー>全結合層 ー>全結合層という構成になっています。

LeNetのオリジナルの論文をモデルに作ったので活性化関数がreluではなくtanhなのに違和感を感じます…。


学習結果


100epoch学習させてみた結果以下のような結果になりました。

Figure_3

テストデータに対する精度は65%ほどまで向上し自分が予想していたよりも良い結果になりました。

128 -> 256 ー> 128といった全結合層のみを使用して学習した結果は以下のようになっていたことからLeNetの画像分類に対する有用性が分かりますね。

Figure_4


ただ、30epochを超えたあたりから過学習を起こしているのが少し気になります。Dropoutの処理とかをいれたらましになるのかな。


次はLeNetベースで精度を改善するか、他のモデルを使ってcifar10の学習をしてみたいと思います。

AlexNetを使用してcifar10の画像分類を行ってみました。




最後に、今回使用したソースコードを以下にのせておきます。

from keras.models import Sequential
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
from keras.layers.core import Dense, Flatten
from keras.datasets import cifar10
from keras.utils import np_utils
import matplotlib.pyplot as plt


# LeNetの論文を参考して作成したモデル
def CreateLeNet(input_shape, num_classes):
    model=Sequential()
    
    model.add(Conv2D(filters=6, kernel_size=5, padding='same', input_shape=input_shape, activation='tanh'))
    model.add(MaxPool2D(pool_size=(2,2)))
    model.add(Conv2D(filters=16, kernel_size=5, padding='same', activation='tanh'))
    model.add(MaxPool2D(pool_size=(2,2)))
    model.add(Flatten())
    model.add(Dense(120, activation='tanh'))
    model.add(Dense(84, activation='tanh'))
    model.add(Dense(num_classes, activation='softmax'))
    
    return model


# 学習の様子を可視化
def ShowTrainData(history):
    
    plt.figure(figsize=(10,5))
    
    plt.subplot(1,2,1)
    plt.plot(history.history['accuracy'])
    plt.plot(history.history['val_accuracy'])
    plt.title('Model accuracy')
    plt.ylabel('Accuracy')
    plt.xlabel('Epoch')
    plt.legend(['Train', 'Test'], loc='upper left')

    plt.subplot(1,2,2)
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('Model loss')
    plt.ylabel('Loss')
    plt.xlabel('Epoch')
    plt.legend(['Train', 'Test'], loc='upper left')
    
    plt.show()


def main():
    # cifer10をダウンロード
    (x_train,y_train),(x_test,y_test)=cifar10.load_data() # 32×32×3の配列

    # 画像を0から1の範囲で正規化
    x_train = x_train.astype('float32') # float32に変換
    x_train = x_train/255; # 0~1の値に変換するために255で割る(cifer10は0-255のRGBで表現されている)
    x_test = x_test.astype('float32')
    x_test = x_test/255;

    # 正解ラベルをone-hot表現に変換
    y_train = np_utils.to_categorical(y_train, 10)
    y_test = np_utils.to_categorical(y_test, 10)

    #モデルを構築
    model = CreateLeNet(x_train[0].shape, 10)
    model.compile(optimizer='SGD',loss='categorical_crossentropy',metrics=['accuracy'])
    batch_size = 128;
    epoch = 100;

    history=model.fit(x_train,y_train,batch_size=batch_size,nb_epoch=epoch,verbose=1,validation_split=0.1)
    ShowTrainData(history)
    
if __name__ == '__main__':
    main()




↑このページのトップヘ